機能
データの型を定義します。データ型は、表の列のデータの型、ストアドプロシジャ、ファンクションルーチンで扱うデータの型に指定します。
記述形式
一般規則
指定できるデータ型を以下に示します。
型種類 | データ型指定形式 | 指定の意味 |
---|---|---|
CHARACTER(n) | 固定長で長さn文字の文字列 | |
CHARACTER VARYING(n) | 可変長で長さ最大n文字の文字列 | |
NATIONAL CHARACTER(n) | 固定長で長さn文字の日本語文字列 | |
NATIONAL CHARACTER VARYING(n) | 可変長で長さ最大n文字までの日本語文字列 | |
NUMERIC(p,q) | 桁数p、小数点以下q桁のゾーン形式10進数 | |
DECIMAL(p,q) | 桁数p、小数点以下q桁のパック形式10進数 | |
INTEGER | -231~231-1の整数 | |
SMALLINT | -215~215-1の整数 | |
FLOAT(p) | 仮数部が-2p~2pの概数 | |
REAL | 4バイトの浮動小数点数 | |
DOUBLE PRECISION | 8バイトの浮動小数点数 | |
DATE | 年から日までの10文字の日付を格納 | |
TIME | 時から秒までの8文字の時刻を格納 | |
TIMESTAMP | 年から秒までの19文字の時刻印を格納 | |
INTERVAL 開始日時フィールド TO 終了日時フィールド | 各フィールドの指定により、年~月、日~時刻の時間隔を格納 (詳細は“表2.11 時間隔型の指定と意味”を参照) | |
BINARY LARGE OBJECT(n単位) | バイナリ属性のデータを格納 |
n:文字数
p:精度
q:位取り
p : 開始日時フィールドの精度(1~9の整数を指定)
数字 → “2.1.1 文字”
時間隔型は、時間隔をもつデータ型です。
日時フィールドには順位があります。その順位は、最上位のものから最下位のものの順に、YEAR、MONTH、DAY、HOUR、MINUTE、SECONDです。
時間隔型は、年月クラスと日時クラスに分類されます。各クラスにまたがるような日時フィールドを持つ指定はできません。
年月クラスは、開始フィールドおよび終了フィールドにより指定された年および月からなる連続する日時フィールドを含みます。または、単一日時フィールドにより指定される年または月の単一日時フィールドを含みます。時間隔型の年月クラスを以下に示します。
開始フィールド | 終了フィールド |
---|---|
YEAR | MONTH |
単一日時フィールド |
---|
YEAR |
MONTH |
日時クラスは、開始フィールドおよび終了フィールドにより指定された日、時、分および秒からなる連続する任意の日時フィールドを含みます。または、単一日時フィールドにより指定される日、時、分および秒の単一日時フィールドを含みます。時間隔型の日時クラスを以下に示します。
開始フィールド | 終了フィールド |
---|---|
DAY | HOUR |
HOUR | MINUTE |
MINUTE | SECOND |
単一日時フィールド |
---|
DAY |
HOUR |
MINUTE |
SECOND |
時間隔型の最初の日時フィールドはn桁の整数です。nは時間隔先行フィールド精度で指定された符号なし整数です。時間隔先行フィールド精度を省略した場合は、以下のようになります。時間隔先行フィールドの省略値を以下に示します。
開始フィールド | 時間隔先行フィールドの省略値 |
---|---|
YEAR | 2 |
MONTH | 2 |
DAY | 2 |
HOUR | 2 |
MINUTE | 2 |
SECOND | 2 |
使用例
会社表の定義でのデータ型の使用例です。
CREATE TABLE 会社表(会社番号 SMALLINT NOT NULL,・・・ 真数型 会社名 NCHAR(10), ・・・ 各国語文字列型 電話番号 CHAR(14), ・・・ 文字列型 住所 NCHAR(20), ・・・ 各国語文字列型 創立 DATE, ・・・ 日時型 地図 BLOB(20K)) ・・・ BLOB型