定数 (リテラルとも呼ばれる) は値を指定します。
定数は、ストリング定数と数値定数に分類されます。
さらに数値定数は、整数、浮動小数点数、または 10 進数に分類されます。
ストリング定数は、文字またはグラフィックに分類されます。
すべての定数に属性 NOT NULL があります。
値がゼロの数値定数では、負符号は無視されます。
定数のタイプを以下に示します。
- 整数定数
- 符号付きまたは符号なしの数値として 2 進整数が指定されます。
有効数字は最大 10 桁で、小数点はありません。
値が長精度整数の範囲内にない場合、この定数は 10 進定数と解釈されます。
整数定数のデータ型は長精度整数です。
構文図では、integer (整数) という用語は、
符号が含まれていてはならない整数定数に対して使用されます。
- 浮動小数点定数
- E で区切られた 2 つの数値として浮動小数点数が指定されます。
最初の数値には符号と小数点を含めることができます。
2 番目の数値には符号を含めることはできますが、小数点は含めることができません。
この定数の値は、10 を 2 番目の数値で累乗した値に最初の数値を乗算することで算出されます。
この値は浮動小数点数の範囲内になければなりません。
定数における文字の数は、30 文字以下でなければなりません。
先行ゼロを除き、最初の数値の桁数は 17 桁以下でなければならず、2 番目の数値の桁数は 2 桁以下でなければなりません。
浮動小数点定数のデータ型は倍精度浮動小数点です。
図 1. 150、200000、-0.22、および 500 を表す浮動小数点定数 15E1 2.E5 -2.2E-1 +5.E+2
- 10 進定数
- 31 桁以下の符号付きまたは符号なし数値として 10 進数が指定されます。
この定数に小数点が含まれるか、またはこの定数は 2 進整数の範囲外の値となります。
精度は、小数点の右側にある桁数を含めた総桁数です。
この総桁数には、すべての先行ゼロと後続ゼロが含まれます。
位取りは、小数点の右側の桁数 (後続ゼロを含む) です。
図 2. 精度と位取りが 5 と 2、4 と 0、2 と 0、23 と 2 である 10 進定数 025.50 1000. -15. +375893333333333333333.33
- バイナリー・ストリング定数
- 可変長バイナリー・ストリングが指定されます。
このバイナリー定数は、BINARY データ型または VARBINARY データ型の列に有効です。
バイナリー・ストリング定数は、BX の後に文字シーケンス (ストリング区切り文字で始まり、ストリング区切り文字で終わる) を指定することで形成されます。
ストリング区切り文字で囲まれる文字は、偶数桁の 16 進数字でなければなりません。
この 16 進数字は 254 桁以下でなければなりません。
1 つの 16 進数字は、0 から 9 までの数字の 1 つ、または A から F までの文字 (大文字または小文字) の 1 つです。
16 進表記の規則により、1 対の 16 進数字で 1 バイトが表されます。
この表記は、X'' 形式が使用される文字定数の表記に似ています。
ただし、バイナリー・ストリング定数と文字ストリング定数には互換性がなく、バイナリー・ストリング定数を指定するために X'' 形式を使用することはできず、
同様に文字ストリング定数を指定するために BX'' 形式を使用することはできません。
バイナリー・ストリング定数の例:
BX'0000' BX'C141C242' BX'FF00FF01FF'
- 文字ストリング定数
- 可変長文字ストリングが指定されます。
文字ストリング定数には以下の形式があります。
- 先頭と末尾にアポストロフィ (') がある文字列。
- ストリング区切り文字で囲まれた文字ストリングが指定されます。
区切り文字で囲まれるバイトの数は 255 以下でなければなりません。
文字ストリング内で 1 つのストリング区切り文字を表すには、ストリング区切り文字を 2 つ続けて使用します。
- X の後に文字列があり、その文字列の先頭と末尾にストリング区切り文字が付いている形式。
- 16 進定数とも呼ばれます。
ストリング区切り文字で囲まれる文字は、偶数桁の 16 進数字でなければなりません。
この 16 進数字は 254 桁以下でなければなりません。
1 つの 16 進数字は、0 から 9 までの数字の 1 つ、または A から F までの文字 (大文字または小文字) の 1 つです。
16 進表記の規則により、1 対の 16 進数字で 1 文字が表されます。
16 進定数を使用すれば、キーボードにない文字を指定できます。
図 3. 文字ストリング定数の例 '12/14/1985' '32' 'DON''T CHANGE' X'FFFF' ''
この例にある最後のストリング ('') は、
空の文字ストリング定数 (長さゼロのストリング) を表します。
文字ストリング定数に DBCS サブストリングが含まれている場合、その文字ストリング定数は混合データに分類されます。
それ以外の場合はすべて、文字ストリング定数は SBCS データに分類されます。
- グラフィック・ストリング定数
- 可変長グラフィック・ストリングが指定されます。
EBCDIC 環境では、グラフィック・ストリング定数の形式は以下のようになります。
- G'0x0e[dbcs-string]0x0f'
- N'0x0e[dbcs-string]0x0f'
SQL ステートメントでは、グラフィック・ストリング定数を複数行にわたって入力することはできません。
グラフィック・ストリング定数に含まれる DBCS 文字の最大数は 124 文字です。