[SQL Server] 文字型の違い (varchar, nvarchar)

業務アプリのデータベース設計では、未だに何も考えずに文字列は varchar で定義してあることが多い。そして、文字はすべからく「全角 2 バイト、半角 1 バイト」である、という概念が未だに残っている現場や技術者が多い。

nchar および nvarchar (Transact-SQL) - msdn
http://msdn.microsoft.com/ja-jp/library/ms186939.aspx

nvarchar は全角であろうが半角であろうが文字数がそのままデータ長になるのだが、それより重要な意味は Unicode をサポートしているということであろう。

What is the difference between char, nchar, varchar, and nvarchar in SQL Server? - Stack Overflow
http://stackoverflow.com/questions/176514/what-is-the-difference-between-char-nchar-varchar-and-nvarchar-in-sql-server

最近の OS、プラットフォームは内部動作として Unicode であることがほとんどであるから、アスキーコードのみサポートされた環境でない限り、nvarchar を採用するほうが無難であるとのこと。
逆に言うと、varchar で定義されているものを nvarchar に変換する際には気をつけないといけない。

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する