1.4 定数

ここでは,定数について説明します。

定数は,プログラム中で値を変更できないデータです。定数には,数値を表す数定数と文字列や時刻印を表す一般定数があります。

<この節の構成>
(1) 形式
(2) 定数の表記法

(1) 形式

定数::={数定数|一般定数}
数定数::={真数定数}
真数定数::={整数定数|10進数定数}
一般定数::={文字列定数|時刻印定数}

(2) 定数の表記法

定数の表記法を次の表に示します。

表1-16 定数の表記法

項番定数表記法XDBで解釈するデータ型
1整数定数〔符号〕符号なし整数
<例>

-123
 45
6789

符号なし整数は,数字の並びで表します。
符号は,+または-で表します。
INTEGER
210進数定数〔符号〕整数部.小数部
<例>

 12.3
-456.
   .789

整数部と小数部は符号なし整数で表します。整数と小数のどちらかを指定する必要があります。小数点は必ず付けてください。DECIMAL(m〔,n〕)
m,n:表記したけた数
3文字列定数'文字列'
<例>

'HITACHI'
'88'
'''95.7.30'

文字列は半角文字,または全角文字の列で表します。文字列にアポストロフィ(')を記述する場合,1個のアポストロフィを表すために2個続けて記述してください。CHAR(n)
n:表記した文字列長
4時刻印定数TIMESTAMP'YYYY-MM-DD hh:mm:ss.nn…n'
<例>

TIMESTAMP'2008-07-08 11:03:58'
TIMESTAMP'2008-07-08 11:03:58.12'
TIMESTAMP'2008-07-08 11:03:58.1234'
TIMESTAMP'2008-07-08 11:03:58.123456'

年(YYYY),月(MM),日(DD)をハイフン(-)で結び,空白を含めてから,さらに時(hh),分(mm),秒(ss)をコロン(:)で結び「'YYYY-MM-DD hh:mm:ss'」として表現します。
年(YYYY),月(MM),日(DD)がけた数に満たない場合は,足りないけた数分だけ左側に0を補ってください。同様に,時(hh),分(mm),秒(ss)がけた数に満たない場合は,足りないけた数分だけ左側に0を補ってください。小数秒精度を表現する場合,秒(ss)と小数秒(nn…n)の間を,ピリオドで結んでください。小数秒精度を省略し,ピリオドだけを指定すると,小数秒精度が0のデータとして扱われます。小数秒精度が7以上の場合はエラーとなります。
TIMESTAMP〔(p)〕

数定数の使用上の制限を次の表に示します。

表1-17 数定数の使用上の制限

項番数定数範囲指定できるけた数の最大値(上位の無効数字0のけた数を含む)
1整数定数-2147483648~214748364710けた
210進数定数-(1030-1)~-10-29,0,および,10-29~(1030-1)29けた
注※
整数定数の値の範囲を超える定数を整数定数の表記法で指定すると,XDBは,定数の右側に小数点を仮定し,10進数定数が指定されたものと解釈します。