Pages

2013/11/19

[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 に変換する際には気をつけないといけない。

Related Posts Plugin for WordPress, Blogger...