データ・タイプは、定数、列、ホスト変数、関数、式、 および特殊レジスターの値として受け入れ可能なものを定義します。 ここでは、例の中で参照されているデータ・タイプについて説明します。 その他のすべてのデータ・タイプのリストと詳しい説明については、 SQL 解説書 を参照してください。
文字ストリング は、バイトの列です。 ストリングの長さは、 その列の中のバイト数です。 長さが 0 なら、 その値は空ストリング と呼ばれます。
CHAR(x) は、固定長ストリングです。 長さ属性 x は、1 以上 254 以下でなければなりません。
可変長文字ストリングには、VARCHAR、LONG VARCHAR、 および CLOB の 3 種類があります。
VARCHAR(x) データ・タイプは可変長ストリングなので、 長さ 9 のストリングを VARCHAR(15) に挿入しても、 そのストリング長はやはり 9 です。
CLOB については、 ラージ・オブジェクト (LOB)を参照してください。
グラフィック・ストリング は、2 バイト文字の列です。
GRAPHIC(x) は、固定長ストリングです。 長さ属性 x は、1 以上 127 以下でなければなりません。
可変長グラフィック・ストリングには、VARGRAPHIC、LONG VARGRAPHIC、 および DBCLOB の 3 種類があります。 DBCLOB については、 ラージ・オブジェクト (LOB)を参照してください。
バイナリー・ストリング は、バイトの列です。 これは、画像データなど、 従来のタイプに当てはまらないデータを入れるのに使います。 バイナリー・ラージ・オブジェクト (BLOB) は、バイナリー・ストリングです。 詳しい情報については、 ラージ・オブジェクト (LOB)を参照してください。
数値には、すべて符号と精度 があります。 精度とは、ビット数または桁数のことです (符号を含む)。
DECIMAL は、10 進数です。 10 進小数点の位置は、 数値の精度 (p) と位取り (s) によって決まります。 精度は、総桁数であり、32 未満でなければなりません。 位取りは、小数点以下の桁数であり、 常に精度値以下でなければなりません。 精度と位取りを指定しない場合の 10 進数値のデフォルトは、 精度 5、位取り 0 です。
日付 / 時刻値は、日付、時刻、 およびタイム・スタンプ (yyyyxxddhhmmss という 形式で有効な日付と時刻を表す 14 桁の文字ストリング) を表します。 日付 / 時刻値は、 特定の算術演算やストリング操作で使うことができ、 特定のストリングとの互換性がありますが、 日付 / 時刻値はストリングでも数値でもありません。 1
NULL 値は、 NULL 以外のすべての値とは区別された特殊な値です。 これは、その行のその列に、 その他の値がないことを意味します。 NULL 値は、どのデータ・タイプについても存在します。
次の表に、例で使用されるデータ・タイプの特性をまとめておきます。 すべての数値データ・タイプは、特定の範囲内のものとして定義されています。 この表には、数値データ・タイプの範囲も示されています。 この表は、 データ・タイプの正しい使い方について調べるのに使うことができます。
データ・ タイプ | 種類 | 特性 | 例または範囲 |
---|---|---|---|
CHAR(15) | 固定長文字ストリング | 最大長 254 | 'Sunny day' |
VARCHAR(15) | 可変長文字ストリング | 最大長 32672 | 'Sunny day' |
SMALLINT | 数値 | 長さ 2 バイト、精度 5 桁 | 範囲は -32768〜32767 |
INTEGER | 数値 | 長さ 4 バイト、精度 10 桁 | 範囲は -2147483648〜2147483647 |
BIGINT | 数値 | 長さ 8 バイト、精度 19 桁 | 範囲は -9223372036854775808〜 9223372036854775807 |
REAL | 数値 | 単精度浮動小数点 32 ビット近似値 | 範囲は -3.402E+38〜-1.175E-37、 または 1.175E-37〜-3.402E+38、 またはゼロ |
DOUBLE | 数値 | 倍精度浮動小数点 64 ビット近似値 | 範囲は -1.79769E+308〜-2.225E-307、 または 2.225E-307〜1.79769E+308、 またはゼロ |
DECIMAL(5,2) | 数値 | 精度 5、位取り 2 | 範囲は -10**31+1〜10**31-1 |
DATE | 日付 / 時刻 | 3 つの部分で構成される値 | 1991-10-27 |
TIME | 日付 / 時刻 | 3 つの部分で構成される値 | 13.30.05 |
TIMESTAMP | 日付 / 時刻 | 7 つの部分で構成される値 | 1991-10-27-13.30.05.000000 |
詳細については、 SQL 解説書 の中のデータ・タイプ互換性の表を参照してください。