読み方 : エヌバーチャー / エヌバーキャラ

NVARCHAR【NCHAR VARYING】NVARCHAR2

NVARCHARとは?

データベースフィールド定義などで使われるデータ型の一つで、Unicodeに対応した可変長文字列型。「NCHAR VARYING」とも呼ばれ、格納する文字数に応じて必要な分だけ記憶領域を使う仕組みになっている。
NVARCHARのイメージ画像

VARCHAR」や「CHAR」といった従来の文字列型は、英数字を中心としたASCII文字を想定して設計されており、日本語や中国語、アラビア語といった様々な言語の文字を扱うには不十分な場合があった。NVARCHARでは世界中の言語の文字を一つの体系で表現できるUnicodeを使って文字を保存することができる。異なる言語の文字を同一の列に混在させても、文字化けや欠損を起こさずに記録、読み込みができる。

NVARCHARが実装された初期のDBMSではUnicodeエンコード方式としてUTF-16を採用するものが多く、その場合は文字の種類によらず1文字あたり2バイトで表現される。半角英数字の格納に必要な保存領域は従来の2倍に増える点に注意が必要である。近年のDBMSでは設定によりUTF-8も選択できるようになっているものもあり、一文字あたりASCII文字は1バイト、欧州の飾り付き文字や記号などは2バイト、日本語などは3バイト、特殊な記号などは4バイトを消費する。

フィールドの長さ指定は文字数単位で行うのが一般的で、「NVARCHAR(100)」と定義すれば最大100文字まで格納できる。最大長をバイト単位で指定するVARCHARとはこの点が異なる。SQL Serverでは上限4000文字で、それを超える場合は「NVARCHAR(MAX)」を指定してLOB型としてデータを保存する。なお、Oracle Databaseでは歴史的な経緯から「NVARCHAR2」という型名が用いられている。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。