CHARとVARCHAR2の違い


CHAR(n)
固定長文字列データ型
・1〜2000バイトまで
・未使用の部分は空白が入る

VARCHAR2(n)
可変長文字列データ型
・1〜4000バイトまで
・CHARとの違い格納された文字列データのみが保管される


SQL> CREATE TABLE TEST
2 (CH char(10) ,
3 VCH2 varchar2(10));
SQL> INSERT INTO TEST VALUES('A','A');
SQL> INSERT INTO TEST VALUES('B ','B ');
SQL> SELECT CH,LENGTH(CH),VCH2,LENGTH(VCH2) FROM TEST;
CH LENGTH(CH) VCH2 LENGTH(VCH2)

                                                                                          • -

A 10 A 1
B 10 B 2

CHAR(10)は、1バイトしか使っていなくてもあまりの9バイトに空白が入る