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