データ型と定数

DBProでは,下記の目次に示すデータ型のデータを表に格納することができます。数値関連データ型とは,数値型,整数型,実数型の三つです。

中などで,各データ型の特定の値を指定するときは「定数」を用います。数値関連型に対する定数は,どれも算術定数として表現されます。ナル値は,データが未入力(空),不定,計算エラーなどを表わす特殊な値であって,どのデータ型にも共通の定数です。

表編集ウィンドウやカード編集ウィンドウでレコードの項目に値を入力するときは,定数としてではなく,より直感的で簡単な方法で入力することができます。


目次
文字列型と文字列定数
数値関連データ型と算術定数
日付型と日付定数
時刻型と時刻定数
年月間隔型と年月間隔定数
日時間隔型と日時間隔定数
ファイル型
キーワード定数
ポインタ型
ナル値

文字列型と文字列定数

文字の並びを文字列型データとして扱います。

DBProで使える文字

文字列定数


数値関連データ型と算術定数

数値関連データ型には,数値型(十進数型),整数型,実数型の三つのデータ型があります。

算術定数

算術定数は,数値型(十進数型),整数型または実数型の値を表わします。
算術定数においてはこれらのデータ型の区別はなく,これら三つのデータ型のいずれの定数としても算術定数を記述します。算術定数は,それが書かれている式の中で,必要となる任意の型に変換されます。必要とされる型の最大値や最小値を超える算術定数を記述するとエラーまたは式の結果が不定になります。

形式
<算術定数>::=<十進数定数>
|<十六進数定数>
|<八進数定数>
|<二進数定数>
|<数値定数>
<十進数定数>::=<真数定数>
|<概数定数>
<真数定数>::=<数字>... [ . [ <数字>... ] ]
|. <数字>...
<概数定数>::=<仮数部> E <指数部>
<仮数部>::=<真数定数>
<指数部>::=[ + | - ] <数字>...
<数字>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<十六進数定数>::=X ' <十六進数字>... '
<十六進数字>::=<数字> | A | B | C | D | E | F
(小文字でもよい)
<八進数定数>::=O ' <八進数字>... '
<八進数字>::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
<二進数定数>::=B ' <二進数字>... '
<二進数字>::=0 | 1
<数値定数>::=NUM ' <数値文字列> '
|数値 ' <数値文字列> '
各定数の意味
真数定数
真数定数は,普段もっともよく使う形の算術定数です。整数部と,必要ならば小数部とを小数点で区切って書きます。
 145
 71.36
 .250.25 を表わします。
概数定数
概数定数は,絶対値が非常に大きな数値や小さな数値を表現するために導入されている形式であり,10のべき乗を利用して表現します。普通は実数型の定数を表現するときに用います。日常的な大きさの数値を表現することもできます。
<仮数部> は,表現しようとする数値の有効桁を表わします。<指数部> は,表現しようとする数値の大きさを 10のべき乗として表わします。区切りの E は,大文字でも小文字の e でも構いません。
 1.25E31.25×103,すなわち 1250 を表わします。
 3E53×105,すなわち 300000 を表わします。
 .12345678E-4 0.12345678×10-4,すなわち 0.000012345678 を表わします。
十六進数定数
整数値を十六進数で表現して式に書くことができます。十六進定数を表わす X は,大文字でも小文字でも全角でも半角でも構いません。
 X'FFFF'=65535
 X'64'=100
 X'3E8'=1000
 X'2720'=10000
八進数定数
整数値を八進数で表現して式に書くことができます。八進定数を表わす O(オー)は,大文字でも小文字でも全角でも半角でも構いません。
 O'11'=9
 O'77'=63
 O'144'=100
 O'1750'=1000
二進数定数
整数値を二進数で表現して式に書くことができます。二進定数を表わす B は,大文字でも小文字でも全角でも半角でも構いません。
 B'11'=3
 B'111'=7
 B'1111'=15
 B'1100100'=1000
数値定数
数値定数は,表編集やカード編集のセルに対して入力することができる数値の形式を式の中にも書けるように用意されています。<数値文字列> としては,金額を表わすための円記号や 3桁ごとの区切りのコンマなどを含む形の文字列を書くことができます。→数値の入力
 数値'3,000' 3000
 NUM'45%'0.45
算術定数のデータ型
式の中に書かれている算術定数は,数値型(十進数型)に解釈されます。このとき,算術定数が表現する数値の絶対値が大きくて解釈しきれないときは,実数型で解釈します。このようにして解釈された算術定数が演算に使われるときは,その式で要求されているデータ型に合わせられます。
 10数値型
 3000000000.0数値型
 127E200実数型
数値型と実数型は,共に小数点以下を表わせますが,その使用目的は若干異なります。数値型は小数点以下を十進数で正しく表現できますが,実数型では多少誤差の出ることがあります。数値型は主に財務計算などの金銭を扱うときに用い,実数型は科学技術計算などに用います。
注意
真数定数と概数定数とは項目値をセルに直接入力するときの形と同じですが,十六進数定数,八進数定数,二進数定数および数値定数は,定数として式中に記述できるだけであって,セルに入力する値として記述することはできません。

エラー数値

数値の入力


日付型と日付定数

年月日の日付を扱うための専用のデータ型が用意されています。

日付定数

日付定数は,日付型の値を表わします。

形式
日付定数は,日付定数を表わすキーワード DATE または 日付 の後に文字列定数と同じ形式をもつ日付文字列を書いて表現します。
 <日付定数>::=DATE ' <日付文字列> '
|日付 ' <日付文字列> '
日付文字列
日付定数のキーワードと引用符を除いた <日付文字列> の部分は,日付型項目のセルに直接入力するときの日付文字列と同じです。この日付文字列には,日常的に日付を記述するときの文字列を指定します。あいまいさをなくして,特定の日付を確実に指定するためには,和暦の元号や区切りの年,月,日は省略せずに指定してください。また西暦は4桁で指定してください。
元号や区切りの年,月,日を省略したり,西暦年を2桁で指定したりすることもできます。→日付の入力
日付定数の例
DATE'1992年12月15日'
日付’平成4年10月31日’
date'SEP.3'
DATE’950101’

日付の入力

日付を入力するときは,基本的には,年,月,日を表わす各数字の後に「年」,「月」,「日」の文字を付けて入力します。

例: 2000年1月1日

元号や月を表わす文字

年月日の入力順序

特殊な日付入力

省略形の入力

日付文字列の例

正しくない日付文字列


時刻型と時刻定数

時刻定数

時刻定数は,時刻型の値を表わします。

形式
時刻定数は,時刻定数を表わすキーワード TIME または 時刻 の後に文字列定数と同じ形式をもつ時刻文字列を書いて表現します。
 <時刻定数>::=TIME ' <時刻文字列> '
|時刻 ' <時刻文字列> '
時刻文字列
時刻定数のキーワードと引用符を除いた <時刻文字列> の部分は,時刻型項目のセルに直接入力するときの時刻文字列と同じです。この時刻文字列には,日常的に時刻を記述するときの文字列を指定します。あいまいさをなくして,特定の時刻を確実に指定するためには,午前/午後,区切りの時,分,秒などを省略せずに指定してください。さまざまな省略形で指定することもできます。→時刻の入力
時刻定数の例
TIME'19時12分15秒'
時刻’午前4時10分31秒’
time'23:59:59'
time’pm 9:00’

時刻の入力

時刻を入力するときは,基本的には次のように時分秒をすべて入力します。時の数値は 0〜24,午前午後で示すときは 0〜12,分秒の数値は 0〜59 でなければなりません。24時および午前12時は午前0時(正子)とみなされます。午後12時は正午とみなされます。

例:
14時15分20秒
14:15:20

午前/午後と区切り文字

時分秒の入力順序

現在時刻の入力

省略形の入力

時刻文字列の例

 .そのときのシステムの時刻
 12030512時3分5秒
 123512時35分0秒
 123561時23分56秒
 10:24pm22時24分0秒
 24:050時5分0秒
 午後12時5分0時5分0秒
 午前12時5分12時5分0秒
 1313時0分0秒
 350時35分0秒
 1秒0時0分1秒
 28:12:3412時28分34秒
 午前10時6秒10時0分6秒

正しくない時刻文字列の例

 午後13時49分時の指定が大き過ぎる
 9999解釈できない

年月間隔型と年月間隔定数

年月間隔型のデータは,「何年何ヵ月」で表わされる長い時間を扱います。

年月間隔定数

年月間隔定数は,年月間隔型の値を表わします。

形式
年月間隔定数は,年月間隔定数を表わすキーワード YMINTERVALYMI または 年月間隔 の後に文字列定数と同じ形式をもつ年月間隔文字列を書いて表現します。
 <年月間隔定数>::=YMINTERVAL ' <年月間隔文字列> '
|YMI ' <年月間隔文字列> '
|年月間隔 ' <年月間隔文字列> '
年月間隔文字列
年月間隔文字列には年数,月数またはその両方のいずれかを指定します。指定された数値が年数であるか月数であるかは,その単位を見て判断されます。
年月間隔定数のキーワードと引用符を除いた <年月間隔文字列> の部分は,年月間隔型項目のセルに直接入力するときの年月間隔文字列と同じです。→年月間隔の入力
年月間隔定数の例
YMINTERVAL'130年'
年月間隔’100ヵ月’
ymi'23'
年月間隔’2才6ヵ月’

年月間隔の入力

年月間隔のデータを入力するときは,基本的には次のように「年」「月」などの単位を付けて入力します。

例:
100年
1歳6ヵ月
30ヵ月

単位,区切り文字など

年月の入力順序と書式

年月間隔文字列の例


日時間隔型と日時間隔定数

日時間隔型のデータは,秒を単位とする時間を扱います。

日時間隔定数

日時間隔定数は日時間隔型の値を表わします。

形式
日時間隔定数は,日時間隔定数を表わすキーワード DTINTERVALDTI または 日時間隔 の後に文字列定数と同じ形式をもつ日時間隔文字列を書いて表現します。
 <日時間隔定数>::=DTINTERVAL ' <日時間隔文字列> '
|DTI ' <日時間隔文字列> '
|日時間隔 ' <日時間隔文字列> '
日時間隔文字列
日時間隔文字列には日数,時間数,分数,秒数のうちの任意の数値を指定します。指定された数値が何の値であるかは,その単位を見て判断されます。
日時間隔定数のキーワードと引用符を除いた <日時間隔文字列> の部分は,日時間隔型項目のセルに直接入力するときの日時間隔文字列と同じです。→日時間隔の入力
日時間隔定数の例
DTINTERVAL'13日6時間30分'
日時間隔’100時間’
dtinterval'23分46秒'
DTI'1:12:00:00'

日時間隔の入力

日時間隔は,基本的には次のように日時分などの単位を付けて入力します。

例:
3日4時間5分6秒
1週3日

単位,区切りなど

週日時分秒の入力順序と書式

日時間隔文字列の例


ファイル型

ファイルに格納されている図形データやワープロ文書などのファイル名をDBProの表ファイルに格納しておくと,図形データベースや文書データベースとして利用できます。


キーワード定数

DPL中で,コマンドステートメントのパラメータを実行中に変更することができるように,DBProのキーワードを変数に代入することができます。変数に代入される値は,いずれのデータ型とも異なる形式の値をもち,次の形のキーワード定数で指定します。

KEYWORD '<キーワード>'

<キーワード> には任意のキーワードと同じ文字列を書けます。このキーワード定数が代入されている変数を,コマンドのパラメータとして書くと,その値のキーワードを書いた場合と同じ効果を得られます。→式の構文


ポインタ型

ポインタ型は,#ALLOC#FOPEN などの一部の組込み関数の戻り値として得られ,主に変数に代入して利用されます。それぞれの組込み関数を参照してください。→式の構文


ナル値

ナルは,いずれのデータ型にも適合する特殊な定数であって,不定,未入力,未定義,ゼロなどの意味に使われます。