Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
文字列の文字セットを変換します。
CSCONVERT( string-expression, target-charset-string [, source-charset-string [, options ] ] )
string-expression 変換される文字列。
target-charset-string 変換後の文字セット。target-charset-string には、次のいずれかを指定します。または以下を指定します。
os_charset データベースサーバをホストしているオペレーティングシステムが使用する文字セットのエイリアス。
char_charset データベースで使用される CHAR 文字セットのエイリアス。
nchar_charset データベースで使用される NCHAR 文字セットのエイリアス。
options 次のいずれかのオプションを指定できます。
バイトオーダーマーク (BOM) の新規サポート read_bom=on または read_bom=off を指定して、読み込みバイトオーダーマークをオンまたはオフにします。write_bom=on または write_bom=off を指定して、書き込みバイトオーダーマークをオンまたはオフにします。デフォルトの動作は read_bom=on と write_bom=off です。
source-charset-string string-expression で使用されている文字セット。デフォルトは db_charset (データベース側文字セット) です。source-charset-string には、次のいずれかを指定します。または以下を指定します。
LONG BINARY
SQL Anywhere でサポートされている文字セットのリストを表示するには、次のコマンドを実行します。
dbinit -le
この関数で使用できる文字セットラベルの詳細については、サポートされている文字セットを参照してください。
SQL/2008 ベンダー拡張。SQL/2008 標準では、1 つの文字セットから別の文字セットへの文字列データの変換に CONVERT 関数 (SQL Anywhere の CONVERT 関数と混同しないこと) が使用され、この関数の引数は CSCONVERT のものとは異なります。
このフラグメントは、mytext カラムを繁体文字中国語文字セットから簡体文字中国語文字セットに変換します。
SELECT CSCONVERT( mytext, 'cp936', 'cp950' ) FROM mytable;
このフラグメントは、mytext カラムをデータベース側文字セットから簡体文字中国語文字セットに変換します。
SELECT CSCONVERT( mytext, 'cp936' ) FROM mytable;
ファイル名がデータベースに格納される場合は、そのデータベース側文字セットで格納されます。サーバが読み込みまたは書き込みを行うファイルの名前がデータベースに格納されている場合 (外部ストアドプロシージャなど)、ファイル名をオペレーティングシステムの文字セットに明示的に変換してから、ファイルにアクセスしてください。データベースに格納されているファイル名をクライアントが取得する場合は、クライアントの文字セットに自動的に変換されるため、明示的な変換は必要ありません。
このフラグメントは、ファイル名カラムの値をデータベース側文字セットからオペレーティングシステムの文字セットに変換します。
SELECT CSCONVERT( filename, 'os_charset' ) FROM mytable;
ファイル名のリストが入っているテーブルがあります。外部ストアドプロシージャは、このテーブルのファイル名をパラメータとして取り出し、そのファイルから直接情報を読み込みます。次の文は、文字セットの変換が必要ない場合に正しく動作します。
SELECT MYFUNC( filename ) FROM mytable;
mytable 句は、ファイル名カラムが含まれているテーブルを示します。ただし、ファイル名をオペレーティングシステムの文字セットに変換する必要がある場合は、次の文を使用します。
SELECT MYFUNC( csconvert( filename, 'os_charset' ) ) FROM mytable;