データ型

nchar 型、nvarchar 型、および json 型は UTF-8 でエンコードされた Unicode (Unicode Version 6.0.0 ISO/IEC 10646:2011) として格納されます。

  • nchar データ型は最大長 16000 文字の固定長 Unicode データを指定します。
  • nvarchar データ型は最大長 16000 文字の可変長 Unicode データを指定します。
  • JSON データ型は指定子を必要とせず、最大 16000 文字のテキストとして JSON 文書を保管します。
これらのデータ型は、char/varchar の場合と同様に宣言します。 例:
nchar ( <char-length> ) and nvarchar ( <char-length> )

<char-length> は列に入れることができる最大 Unicode 文字数であり、列データのストレージに使われるバイト数とは別のものです。

UTF-8 エンコーディングを使った場合、Unicode コード・ポイントごとに 1~4 バイトのストレージ容量が必要な場合があります。 よって 10 文字のストリングでは、ASCII の場合は 10 バイト、Latin の場合は最大 20 バイト、漢字の場合は 40 バイト (通常は 30 バイト) のストレージ容量がそれぞれ必要です。

ncharとnvarcharは、16000文字までの宣言文字幅をサポートしています。 charとvarcharの最大文字幅は64000文字である。

NPS では、char 列の場合と同じように、nchar クラス列用に宣言された長さに基づきエラー・チェックを行います。 宣言文字幅を超えた文字データを挿入またはロードしようとした場合、エラー・メッセージが表示されます。