Converts strings between character sets.
CSCONVERT( string-expression, target-charset-string [, source-charset-string [, options ] ] )
string-expression The string.
target-charset-string The destination character set. target-charset-string can be one of the following:
os_charset Alias for the character set used by the operating system hosting the database server.
char_charset Alias for the CHAR character set used by the database.
nchar_charset Alias for the NCHAR character set used by the database.
any other supported character set label You can specify any of the SQL Anywhere supported character set labels.
source-charset-string The character set used by the original string-expression. The default is db_charset (the database character set). source-charset-string can be one of the following:
os_charset Alias for the character set used by the operating system.
char_charset Alias for the CHAR character set used by the database.
nchar_charset Alias for the NCHAR character set used by the database.
any other supported character set label You can specify any of the SQL Anywhere supported character set labels.
options You can specify one of the following options:
Read or write a BOM By default, the values are set to read_bom=on and write_bom=off. You can change the values to read_bom=off and write_bom=on.
LONG BINARY
You can view the list of character sets supported by SQL Anywhere by executing the following command:
dbinit -le |
For more information about the character set labels you can use with this function, see Supported character sets.
SQL/2008 Vendor extension. In the SQL/2008 standard, conversion of string data from one charset to another is accomplished with the CONVERT function (not to be confused with SQL Anywhere's CONVERT function) which has different arguments than CSCONVERT.
This fragment converts the mytext column from the Traditional Chinese character set to the Simplified Chinese character set:
SELECT CSCONVERT( mytext, 'cp936', 'cp950' ) FROM mytable; |
This fragment converts the mytext column from the database character set to the Simplified Chinese character set:
SELECT CSCONVERT( mytext, 'cp936' ) FROM mytable; |
If a file name is stored in the database, it is stored in the database character set. If the server is going to read from or write to a file whose name is stored in a database (for example, in an external stored procedure), the file name must be explicitly converted to the operating system character set before the file can be accessed. File names stored in the database and retrieved by the client are converted automatically to the client character set, so explicit conversion is not necessary.
This fragment converts the value in the filename column from the database character set to the operating system character set:
SELECT CSCONVERT( filename, 'os_charset' ) FROM mytable; |
A table contains a list of file names. An external stored procedure takes a file name from this table as a parameter and reads information directly out of that file. The following statement works when character set conversion is not required:
SELECT MYFUNC( filename ) FROM mytable; |
The mytable clause indicates a table with a filename column. However, if you need to convert the file name to the character set of the operating system, you would use the following statement.
SELECT MYFUNC( csconvert( filename, 'os_charset' ) ) FROM mytable; |
Discuss this page in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |