nchar および nvarchar (Transact-SQL)
固定長 (nchar) または可変長 (nvarchar) の Unicode データで、UNICODE UCS-2 文字セットを使用する文字データ型です。
nchar [ ( n ) ]
n 文字で構成される固定長の Unicode 文字データです。n の値は 1 ~ 4,000 の範囲である必要があります。ストレージのサイズは、n の 2 倍のバイト数です。nchar の SQL-2003 シノニムは、national char および national character です。
nvarchar [ ( n | max ) ]
可変長の UNICODE 文字データです。nに指定できる値の範囲は 1 ~ 4,000 です。max はストレージの最大サイズが 2^31-1 バイトであることを示しています。ストレージのサイズは、入力文字数の 2 倍のバイト数に 2 バイトを足した数です。入力データの長さは 0 文字でもかまいません。nvarchar の SQL-2003 シノニムは、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 データ型には適用されません。
参照
関連項目
ALTER TABLE (Transact-SQL)
CAST および CONVERT (Transact-SQL)
COLLATE (Transact-SQL)
CREATE TABLE (Transact-SQL)
データ型 (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
DELETE (Transact-SQL)
INSERT (Transact-SQL)
LIKE (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET @local\_variable (Transact-SQL)
sp_dbcmptlevel (Transact-SQL)
UPDATE (Transact-SQL)
WHERE (Transact-SQL)
その他の技術情報
データ型の変換 (データベース エンジン)
大きな値のデータ型の使用
Unicode データの使用
データベース サイズの見積もり