5.3.2 論理型

論理型は,値と評価の二つの概念を持ちます。それぞれに対して,TRUE,FALSE,UNKNOWNの三つの表現があります。

ここでは,論理型の概念,論理型のデータ型を使用する表現形式,演算子,関数および述語について説明します。また,Java クラスライブラリで扱うデータ型との対応についても説明します。

<この項の構成>
(1) 論理型の概念
(2) 表現形式
(3) 演算子・関数
(4) 述語
(5) Java クラスライブラリで扱うデータ型との対応

(1) 論理型の概念

ここでは,論理型の値および評価について説明します。

(a) 値としての論理型

値として扱う論理型のデータ型は,物理的実体として存在します。これは,Boolean型のプロパティの値または定数値として表現します。

値には,TRUE,FALSE,UNKNOWNの三つの表現があります。edmSQLでは,これらの表現が,それぞれ整数値で実装されています。これは,SQLの概念にはない,edmSQL独自の対応付けです。

値としての論理型の表現と定数値の対応を,次の表に示します。

表5-1 値としての論理型の表現と定数値の対応

表現定数値
TRUE1
FALSE0
UNKNOWN2
(b) 評価としての論理型

評価として扱う論理型のデータ型は,物理的な実体を持ちません。検索条件や検索関数の評価結果として返ってくるデータ型です。

評価には,真,偽,不定の三つの値があります。表現と評価の値は,SQLと同じ概念で対応付けられます。

評価としての論理型の表現と値との対応を,次の表に示します。

表5-2 評価としての論理型の表現と定数値の対応

表現評価の値
TRUE
FALSE
UNKNOWN不定

(2) 表現形式

ここでは,論理型の値および評価の表現形式について説明します。

(a) 論理型の値の表現形式

値として扱う論理型の表現形式を次の表に示します。

表5-3 論理型の値の表現形式

定義
リテラルTRUE
FALSE
UNKNOWN
プロパティBoolean型のプロパティ
(dmaProp_DataType=DMA_DATATYPE_BOOLEANと定義されたプロパティ)
格納値:0,1,2
変数として指定できる値?パラメタ
(b) 論理型の評価の表現形式

評価として扱う論理型を,直接表現する形式はありません。

(3) 演算子・関数

ここでは,論理型の値および評価を被演算子として扱う演算子および関数について説明します。

(a) 論理型の値を被演算子として扱う演算子・関数

論理型の値を被演算子として扱う演算子・関数はありません。

論理型の評価を被演算子として扱う演算子を,次の表に示します。

表5-4 論理型の評価を被演算子として扱う演算子

演算子の種類演算子
論理演算子AND
OR
NOT
(b) 論理型の評価を被演算子として扱う演算子・関数

論理型の値を被演算子として扱う演算子・関数はありません。

(4) 述語

ここでは,論理型の値および評価を評価対象とする述語について説明します。

(a) 論理型の値を評価対象とする述語

評価対象が,論理型の値である述語を次の表に示します。

表5-5 評価対象が論理型の値である述語

述語の種類述語
比較述語=
<>
In述語IN
(b) 論理型の評価を評価対象とする述語

評価対象が,論理型の評価である述語を次の表に示します。

表5-6 評価対象が論理型の評価である述語

述語の種類述語
論理述語IS TRUE

(5) Java クラスライブラリで扱うデータ型との対応

ここでは,edmSQLで扱う論理型の値および評価と,Java クラスライブラリで扱うデータ型との対応について説明します。

(a) Java クラスライブラリで扱うデータ型との対応

edmSQLで扱う論理型の値とJava クラスライブラリで扱うデータ型との対応を,次の表に示します。

表5-7 edmSQLの論理型の値とJava クラスライブラリで扱うデータ型との対応

edmSQLのデータ型Java クラスライブラリで扱うデータ型
論理型(値)int(定数定義クラスの値)DbjDef.DMA_TRUE(=1)
DbjDef.DMA_FALSE(=0)
DbjDef.DMA_UNKNOWN(=2)
(b) 論理型の評価とJava クラスライブラリで扱うデータ型との対応

論理型の評価に,Java クラスライブラリで扱うデータ型と対応するものはありません。