CHARデータ型は固定長の文字列を指定します。本記事では、主にCHARデータ型の構文、パラメータ、使用方法について説明します。
構文
CHAR [(size [BYTE | CHAR])]
パラメータ
パラメータ |
説明 |
|---|---|
| size | 指定された固定長を表します。 |
| BYTE | 列の長さをバイト単位で指定します。 |
| CHAR | 列の長さを文字単位で指定します。 |
使用方法
CHAR データ型は固定長の文字列を指定します。OceanBaseデータベースは、CHAR データ型の列に格納されるすべての値の長さが size で指定された固定長と等しいことを保証します。挿入する値が指定された長さより短い場合、OceanBaseは残りの長さをスペースで埋めます。例えば、1バイトの文字列を CHAR(10) 型の列に挿入すると、その文字列を格納する前に、10バイトの空白で埋めることになります。挿入する値が列の長さを超えると、エラーが返されます。
BYTE および CHAR 制限子は、NLS_LENGTH_SEMANTICS パラメータで指定されたセマンティクスを上書きします。このパラメータのデフォルトはバイトセマンティクスです。異なる文字セットを持つデータベース間で正しいデータ変換を保証するために、CHAR データは正しい形式の文字列で構成されている必要があります。
CHAR データ型の列のデフォルト長は1バイトで、許容される最大長は2000バイトです。
CHAR データ型の列を持つテーブルを作成する際、列の長さはデフォルトでバイト単位で指定されます。BYTE はデフォルト値と同じです。
CHAR 制限子を使用すると、列の長さは文字単位で指定されます。例えば、CHAR(10 CHAR) は、列の長さを文字単位で指定することを意味します。
例
obclient> CREATE TABLE tbl1(col1 CHAR(10), col2 INT, col3 INT);
Query OK, 0 rows affected