nvarchar
from SQL Serverの文字列型varchar nvarchar
nchar(n), nvarchar(n|max)
概要
SQL Server 2012(11.x)以降
補助文字(SC)が有効になっている照合順序を使用する場合
Unicode文字データの全範囲が格納され、UTF-16文字エンコードが使用される
補助文字(SC)が無効の照合順序を指定する場合
UCS-2文字エンコードでサポートされている文字データのサブセットが格納される
引数
nchar
1から4000までのn
UCS-2エンコードの場合
ストレージのサイズはnの2倍のバイト数、格納できる文字数はn
UTF-16エンコードの場合
ストレージのサイズはnの2倍のバイト数、サロゲートペアがある場合、格納できる文字数はnよりも少なくなる
nvarchar
1から4000までのn
max: ストレージの最大サイズが2^30-1(2GB)
ストレージのサイズは、nの2倍のバイト数 + 2バイト
UCS-2エンコードの場合
ストレージのサイズはnの2倍のバイト数 + 2バイト、格納できる文字数もn
UTF-16エンコードの場合
ストレージのサイズはnの2倍のバイト数 + 2バイト、補助文字によって2つのバイトペア (またはサロゲートペア)が使用されるため、格納できる文字数はnよりも少なくなる場合がある
UTF-8の照合順序がついていないJapanese_xxxの照合順序を使用している場合、char/varcharはCP932の文字コードで格納される
日本語版の SQL Server の文字コードの基本 at SE の雑記