文字列型 VARCHAR2・NVARCHAR2・CHAR・NCHARの違い
Oracleの文字列データ型は VARCHAR2・NVARCHAR2・CHAR・NCHARがあります。
- VARCHAR2
- NVARCHAR2
- CHAR
- NCHAR
それぞれどのような違いがあるのか解説します。
VARCHAR2
「VARCHAR2」は可変長の文字列です。
可変長とは「長さが決まっていない」という意味で、VARCHAR2(10)に2バイトを格納すると、10バイトではなく2バイト使用します。
最大4000バイト。文字データ型として最もよく使われるデータ型です。
NVARCHAR2
「NVARCHAR2」はUnicode文字データに対応したVARCHAR2です。最大4000バイト。
CHAR
「CHAR」は固定長の文字列です。
固定長とは「長さが決まっている」という意味で、CHAR(10)に2バイトを格納しても、残りの8バイトに空白を足して10バイト使用します。
最大2000バイト。
NCHAR
「NCHAR」はUnicode文字データに対応したCHARです。最大2000バイト。
Oracleの文字データ型まとめ
Oracleの文字データ型をまとめます。
型 | 特徴 | サイズ | Unicode |
VARCHAR2 | 可変長 | 4,000 | – |
NVARCHAR2 | 可変長 | 4,000 | 〇 |
CHAR | 固定長 | 2,000 | – |
NCHAR | 固定長 | 2,000 | 〇 |
一般的には「VARCHAR2」をよく使用するので、どの型を使うか迷ったら「VARCHAR2」にしておけば間違いないと思います。
以上、Oracleの文字データ型 VARCHAR2・NVARCHAR2・CHAR・NCHARでした。
コメント