論理型は,値と評価の二つの概念を持ちます。それぞれに対して,TRUE,FALSE,UNKNOWNの三つの表現があります。
ここでは,論理型の概念,論理型のデータ型を使用する表現形式,演算子,関数および述語について説明します。また,Java クラスライブラリで扱うデータ型との対応についても説明します。
ここでは,論理型の値および評価について説明します。
値として扱う論理型のデータ型は,物理的実体として存在します。これは,Boolean型のプロパティの値または定数値として表現します。
値には,TRUE,FALSE,UNKNOWNの三つの表現があります。edmSQLでは,これらの表現が,それぞれ整数値で実装されています。これは,SQLの概念にはない,edmSQL独自の対応付けです。
値としての論理型の表現と定数値の対応を,次の表に示します。
表5-1 値としての論理型の表現と定数値の対応
表現 | 定数値 |
---|---|
TRUE | 1 |
FALSE | 0 |
UNKNOWN | 2 |
評価として扱う論理型のデータ型は,物理的な実体を持ちません。検索条件や検索関数の評価結果として返ってくるデータ型です。
評価には,真,偽,不定の三つの値があります。表現と評価の値は,SQLと同じ概念で対応付けられます。
評価としての論理型の表現と値との対応を,次の表に示します。
表5-2 評価としての論理型の表現と定数値の対応
表現 | 評価の値 |
---|---|
TRUE | 真 |
FALSE | 偽 |
UNKNOWN | 不定 |
ここでは,論理型の値および評価の表現形式について説明します。
値として扱う論理型の表現形式を次の表に示します。
表5-3 論理型の値の表現形式
値 | 定義 |
---|---|
リテラル | TRUE FALSE UNKNOWN |
プロパティ | Boolean型のプロパティ (dmaProp_DataType=DMA_DATATYPE_BOOLEANと定義されたプロパティ) 格納値:0,1,2 |
変数として指定できる値 | ?パラメタ |
評価として扱う論理型を,直接表現する形式はありません。
ここでは,論理型の値および評価を被演算子として扱う演算子および関数について説明します。
論理型の値を被演算子として扱う演算子・関数はありません。
論理型の評価を被演算子として扱う演算子を,次の表に示します。
表5-4 論理型の評価を被演算子として扱う演算子
演算子の種類 | 演算子 |
---|---|
論理演算子 | AND OR NOT |
論理型の値を被演算子として扱う演算子・関数はありません。
ここでは,論理型の値および評価を評価対象とする述語について説明します。
評価対象が,論理型の値である述語を次の表に示します。
表5-5 評価対象が論理型の値である述語
述語の種類 | 述語 |
---|---|
比較述語 | = <> |
In述語 | IN |
評価対象が,論理型の評価である述語を次の表に示します。
表5-6 評価対象が論理型の評価である述語
述語の種類 | 述語 |
---|---|
論理述語 | IS TRUE |
ここでは,edmSQLで扱う論理型の値および評価と,Java クラスライブラリで扱うデータ型との対応について説明します。
edmSQLで扱う論理型の値とJava クラスライブラリで扱うデータ型との対応を,次の表に示します。
表5-7 edmSQLの論理型の値とJava クラスライブラリで扱うデータ型との対応
edmSQLのデータ型 | Java クラスライブラリで扱うデータ型 | 値 |
---|---|---|
論理型(値) | int(定数定義クラスの値) | DbjDef.DMA_TRUE(=1) DbjDef.DMA_FALSE(=0) DbjDef.DMA_UNKNOWN(=2) |
論理型の評価に,Java クラスライブラリで扱うデータ型と対応するものはありません。