Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL データ型 » 文字データ型

 

NCHAR データ型

NCHAR データ型は、8191 文字までの Unicode 文字データを格納します。

構文
NCHAR [ ( max-length ) ]
パラメータ
  • max-length   文字列の文字単位での最大長。長さの範囲は 1 ~ 8191 です。指定しない場合の長さは 1 です。

備考

文字は UTF-8 エンコーディングを使用して格納されます。格納に必要な最大バイト数は max-length を 4 倍した値ですが、通常、実際に使用される格納バイト数はより少ない値です。

NCHAR は NATIONAL CHAR または NATIONAL CHARACTER と指定することもできます。どの構文を使用する場合でも、データ型は NCHAR と記述されます。

Embedded SQL クライアントで NCHAR カラムに DESCRIBE が実行される場合、db_change_nchar_charset 関数が呼び出されたかどうかに応じて、返されるデータ型は DT_FIXCHAR または DT_NFIXCHAR になります。db_change_nchar_charset 関数を参照してください。

また、Embedded SQL クライアントで NCHAR カラムに DESCRIBE が実行される場合、返される長さは、クライアントの NCHAR 文字セットの最大バイト長です。たとえば、西ヨーロッパ言語の文字セット cp1252 を NCHAR 文字セットに使用する Embedded SQL クライアントの場合、NCHAR(10) カラムは、長さ 10 (10 文字の文字ごとに最大で 1 バイトを乗じた値) の DT_NFIXCHAR 型として記述されます。日本語の文字セット cp932 を使用する Embedded SQL クライアントの場合、同じ NCHAR(10) カラムは長さ 20 (10 文字の文字ごとに最大で 2 バイトを乗じた値) の DT_NFIXCHAR 型として記述されます。

セマンティック上、NCHAR は NVARCHAR と同じですが、型は異なります。SQL Anywhere では、NCHAR は可変長型です。他のリレーショナル・データベース管理システムでは、NCHAR は固定長型であり、データには max-length 文字までブランクが埋め込まれて格納されます。SQL Anywhere では格納される文字データにブランクを埋め込みません。

ODBC では、odbc_distinguish_char_and_varchar オプションに応じて、NCHAR は SQL_WCHAR または SQL_WVARCHAR として記述されます。odbc_distinguish_char_and_varchar オプション [データベース]を参照してください。

参照
標準と互換性
  • SQL/2003   ベンダ拡張。