SQLServer varcharとnvarcharの違い

更新:2017.11.26

varcharはバイト数。

nvarcharは文字数。

実験。

半角と全角の文字を変数に格納してSELECTで表示してみる。

declare @x1 AS varchar(3) = '123';
declare @y1 AS nvarchar(3) = '123';

declare @x2 AS varchar(3) = 'あいう';
declare @y2 AS nvarchar(3) = 'あいう';

select @x1 as x1,@y1 as y1,@x2 as x2,@y2 as y2

実行するとこうなる。

x1   y1   x2   y2
---- ---- ---- ----
123  123  あ    あいう

桁数をオーバーした文字は、消えている。

SQLの実行はエラーにならないので、注意が必要。

全角文字は2バイト扱いになっているようだ。

declare @x3 AS varchar(3) = 'あ12';

select @x3 as x3

x3
----
あ1
SQLServer関連記事










これからブログなどのサイトを作りたいと思っている人は、お名前.comでのドメイン取得がオススメです。

■□━━ 急げ、ドメインは早い者勝ち! ━━□■
     ■お名前.com

アマゾンの2019年本屋大賞一覧

そして、バトンは渡された
ひと
ベルリンは晴れているか
熱帯
ある男

楽天市場のおすすめ商品一覧

お金2.0 新しい経済のルールと生き方 [ 佐藤航陽 ]
全部レンチン!やせるおかず 作りおき 時短、手間なし、失敗なし
「読む力」と「地頭力」がいっきに身につく 東大読書 [ 西岡 壱誠 ]