Articles

SQL Server NVARCHAR データ型

Posted on

SQL Server NVARCHAR データ型を使用して、列、変数、およびパラメータの可変長文字を定義します。 NVARCHAR データ型は長さが可変です。 格納されている文字よりも多くのメモリを占有します。 これは、常に定義された量のすべてを占有するCHAR型とは異なります。

NVARCHAR型は、各文字が2バイトで構成され、最大4000文字まで保存できます。 NVARCHAR型は、漢字などの拡張文字セットのデータを格納するのに適しています。

一般的に言えば、複数の言語をサポートするアプリケーションを書いている場合は、VARCHARよりもNVARCHARを使用します。

NVARCHAR型の定義

ここでは、NVARCHARを使用して、FirstNameの長さが20、LastNameの長さが40のPersonテーブルを定義しています。

CREATE TABLE Person ( PersonID INT NOT NULL, FirstName NVARCHAR(20), LastName NVARCHAR(40) ) 

ここでは、変数を宣言します。

DECLARE @firstName NVARCHAR(20); 

これらの定義はVARCHARの定義のようなものです。 主な違いは、列が2倍のスペースを取ることです!

SQL SERVER NVARCHAR の例

LastName が NVARCHAR として定義されているこのクエリを見てみましょう:

テーブルの列タイプ定義における SQL SERVER NVARCHAR の例。's column type definition.

DATALENGTHが文字の長さの2倍になっていることに注目してください。 また、LastNameがVARCHARに変換されると、DATALENGTHが文字長と同じになることにも注目してください。

SELECT LastName ,Len(LastName) ,DATALENGTH(LastName) ,DATALENGTH(CAST(LastName as VARCHAR(20))) FROM Person.Person
SELECT LastName ,Len(LastName) ,DATALENGTH(LastName) ,DATALENGTH(CAST(LastName as VARCHAR(20))) FROM Person.Person

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です