付録B.3 SQL_COLUMNSの内容
SQL_COLUMNSには,実表,ビュー表,ディクショナリ表(実表),システム表(実表),ディクショナリ表,およびシステム表の列の定義情報が格納されています。1行に1列分の情報が格納されています。
SQL_COLUMNSの内容を次の表に示します。
項番 |
列名 |
データ型 |
格納されている情報 |
---|---|---|---|
1 |
TABLE_SCHEMA |
VARCHAR(100) |
スキーマ名 |
2 |
TABLE_NAME |
VARCHAR(100) |
表識別子 |
3 |
COLUMN_NAME |
VARCHAR(100) |
列名 |
4 |
COLUMN_ID |
SMALLINT |
列ID |
5 |
TABLE_ID |
SMALLINT |
表ID
|
6 |
DATA_TYPE_CODE |
SMALLINT |
列のデータ型
配列型の列の場合は,要素データ型が格納されます。 |
7 |
DATA_LENGTH |
SMALLINT |
列の定義長 列の定義長は,列のデータ型(配列型の列の場合は,要素データ型)によって異なります。
|
8 |
MAX_ELEMENT |
SMALLINT |
配列型の列の最大要素数
|
9 |
IS_NULLABLE |
CHAR(1) |
列に対する非ナル値制約定義の指定
FIX表の場合は,すべての列が'N'となります。 |
10 |
COLUMN_OFFSET |
SMALLINT |
|
11 |
BRANCH |
CHAR(1) |
列定義のBRANCHの指定値
VARCHAR型およびVARBINARY型以外の列の場合は,ナル値が格納されます。 また,カラムストア表の列の場合もナル値が格納されます。 |
12 |
DEFAULT_VALUE |
VARCHAR(32000) |
DEFAULT句に指定された既定値 実表の定義時にDEFAULT句に指定された既定値が格納されます。
なお,ビュー表の列,ディクショナリ表(実表)の列,システム表(実表)の列,およびDEFAULT句の指定がない実表の列の場合は,ナル値が格納されます。 |
13 |
IS_DEFAULT_COLUMN |
CHAR(1) |
DEFAULT句の指定有無
ビュー表の列,ディクショナリ表(実表)の列,およびシステム表(実表)の列の場合も,ナル値が格納されます。 |
14 |
IS_PRIMARY_KEY_COLUMN |
CHAR(1) |
主キーを構成する列かどうか
ビュー表の列,ディクショナリ表(実表)の列,およびシステム表(実表)の列の場合も,ナル値が格納されます。 |
15 |
PRIMARY_KEY_COLUMN_SEQUENCE_NUMBER |
SMALLINT |
|
16 |
N_FOREIGN_KEY_COLUMN |
SMALLINT |
|
17 |
IS_ARCHIVE_RANGE_COLUMN |
CHAR(1) |
アーカイブレンジ列かどうか
なお,次に示す列の場合は,ナル値が格納されます。
|
18 |
COMPRESSION_TYPE |
VARCHAR(32) |
|
DEFAULT句に定数を指定した場合に,DEFAULT_VALUEの列に格納される値を次の表に示します。
項番 |
既定値に仮定されるデータ型 |
DEFAULT_VALUEの列に格納される値 |
||
---|---|---|---|---|
データ長(単位:バイト) |
格納される値の文字形式の例 |
|||
1 |
数データ |
INTEGER |
指定された既定値を文字形式に変換した長さ |
12345 |
2 |
SMALLINT |
12345 |
||
3 |
DECIMAL |
12.345 |
||
4 |
DOUBLE PRECISION |
-1234567890.1234567E-123 |
||
5 |
文字データ |
CHAR |
指定された既定値を文字形式に変換した長さ+2 |
'ABCD' |
6 |
VARCHAR |
|||
7 |
日時データ |
DATE |
16 |
DATE'YYYY-MM-DD' |
8 |
TIME(p) |
|
TIME'hh:mm:ss.nn...n'※1,※2 |
|
9 |
TIMESTAMP(p) |
|
TIMESTAMP'YYYY-MM-DD△hh:mm:ss.nn....n'※1,※2 |
|
10 |
バイナリデータ |
BINARY |
|
|
11 |
VARBINARY |
- (凡例)
-
p:小数秒精度(0,3,6,9または12)
YYYY:年
MM:月
DD:日
△:空白
hh:時
mm:分
ss:秒
nn...n:小数秒
- 注※1
-
DEFAULT句を指定した列の小数秒精度が0の場合は,秒(ss)と小数秒(nn...n)の間のピリオド( . )は省略されます。
- 注※2
-
既定値の小数秒精度が,DEFAULT句を指定した列の小数秒(nn...n)の桁数に満たない場合は,満たない桁数分,右側に0が補われます。
既定値の小数秒精度が,DEFAULT句を指定した列の小数秒(nn...n)の桁数を超える場合は,超えた桁数分,値が切り捨てられます。