SQL Server 文字列型まとめ。

文字列型

char[n]

固定長のUnicodeではない文字列データです。
ストレージのサイズは、nバイトです。

nchar[n]

固定長のUnicode文字列データです。
ストレージのサイズは、n*2バイトです。

varchar[n]

可変長のUnicodeではない文字列データです。
ストレージのサイズは、nバイトです。

nvarchar[n]

固定長のUnicode文字列データです。
ストレージのサイズは、n*2バイトです。

text,ntext

SQL Server 2012より非推奨機能なデータ型になったため、説明は省略します。

注意点

空白文字で埋められる。

char[n]とnchar[n]は固定文字列のため仮にchar[10]の項目に 'hoge' という値を設定すると 'hoge' + blank6文字 が設定されるます。

2バイト文字列(日本語など)の格納。

日本語(2バイト文字)を1000文字格納したい場合は、varchar[2000] / nvarchar[2000]と定義する必要があります。

まとめ

  • char:固定長であることを表します。
  • varchar:可変長であることを表します。
  • n付:Unicode文字列であることを表します。