nchar および nvarchar (Transact-SQL)

固定長 (nchar) または可変長 (nvarchar) の Unicode データで、UNICODE UCS-2 文字セットを使用する文字列データ型です。

  • nchar [ ( n ) ]
    固定長の Unicode 文字列データです。n では文字列の長さを定義し、指定できる値の範囲は 1 ~ 4,000 です。記憶領域のサイズは、n バイトの 2 倍です。照合順序のコード ページで 2 バイト文字が使用されている場合、記憶領域のサイズは n バイトのままです。文字列によっては、n バイトの記憶領域のサイズが n に指定された値よりも小さくなる可能性があります。nchar の ISO シノニムは、national char および national character です。

  • nvarchar [ ( n | max ) ]
    可変長の Unicode 文字列データです。n では文字列の長さを定義し、指定できる値の範囲は 1 ~ 4,000 です。max は、記憶領域の最大サイズが 2^31-1 バイト (2 GB) であることを示しています。記憶領域のサイズ (バイト単位) は、入力したデータの実際の長さの 2 倍のバイト数に 2 バイトを足した数です。nvarchar の ISO シノニムは、national char varying および national character varying です。

説明

データ定義または変数宣言ステートメントで n を指定しないと、既定の長さは 1 になります。CAST 関数で n を指定しないと、既定の長さは 30 になります。

列データ エントリが類似したサイズになると思われる場合は、nchar を使用します。

列データ エントリのサイズが大幅に異なると思われる場合は、nvarchar を使用します。

sysname は、NULL 値を許可しないという点を除き、機能上は nvarchar(128) と同じです。sysname はデータベース オブジェクト名を参照するために使用されます。

COLLATE 句で特定の照合順序を指定しない限り、nchar 型または nvarchar 型を使用するオブジェクトにはデータベースの既定の照合順序が割り当てられます。

SET ANSI_PADDING は、nchar と nvarchar に対して常に ON です。SET ANSI_PADDING OFF は、nchar または nvarchar データ型には適用されません。