nchar および nvarchar (Transact-SQL)
固定長 (nchar) または可変長 (nvarchar) の Unicode データで、UNICODE UCS-2 文字セットを使用する文字データ型です。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで) |
引数
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 データ型には適用されません。
Unicode 文字列定数に、プレフィックスとして文字 N を付けます。 プレフィックス N がない場合、文字列はデータベースの既定のコード ページに変換されます。 この既定のコード ページでは、一部の文字が認識されない場合があります。
文字データの変換
文字データの変換方法の詳細については、「char および varchar (Transact-SQL)」を参照してください。
使用例
CREATE TABLE dbo.MyTable
(
MyNCharColumn nchar(15)
,MyNVarCharColumn nvarchar(20)
);
GO
INSERT INTO dbo.MyTable VALUES (N'Test data', N'More test data');
GO
SELECT MyNCharColumn, MyNVarCharColumn
FROM dbo.MyTable;
以下に結果セットを示します。
MyNCharColumn MyNVarCharColumn
--------------- --------------------
Test data More test data
(1 row(s) affected)
関連項目
参照
CAST および CONVERT (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET @local\_variable (Transact-SQL)