ここでは,edmSQL文で使用できるデータ型と演算子・関数・述語との関係について説明します。
edmSQL文で使用できるデータ型は,次のとおりです。
なお,Id型は,edmSQLのデータ型としては提供しませんが,クラスやプロパティをIDで指定することはできます。
使用できるデータ型を,次の項目ごとに説明します。
Boolean型は,値と評価の二つの概念を持ちます。それぞれに対して,TRUE,FALSE,UNKNOWNの三つの表現があります。
表4-5 値としてのBoolean型の表現と定数値の対応
表現 | 定数値 |
---|---|
TRUE | 1 |
FALSE | 0 |
UNKNOWN | 2 |
表4-6 評価としてのBoolean型の表現と定数値の対応
表現 | 評価の値 |
---|---|
TRUE | 真 |
FALSE | 偽 |
UNKNOWN | 不定 |
次に,Boolean型の値または評価を使用する表現形式,演算子,関数および述語について説明します。また,クラスライブラリの値との対応について説明します。
値として扱うBoolean型の表現形式を次の表に示します。
表4-7 Boolean型の値の表現形式
値 | 定義 |
---|---|
リテラル | TRUE FALSE UNKNOWN |
プロパティ | Boolean型のプロパティ 格納値:0,1,2 |
変数として指定できる値 | ?パラメタ |
Boolean型の評価には,直接の表現形式はありません。
Boolean型の値を被演算子として扱う演算子・関数はありません。
Boolean型の評価を被演算子として扱う演算子を,次の表に示します。
表4-8 Boolean型の評価を被演算子として扱う演算子
演算子の種類 | 演算子 |
---|---|
論理演算子 | AND OR NOT |
Boolean型の値を被演算子として扱う演算子・関数はありません。
表4-9 評価対象がBoolean型の値である述語
述語の種類 | 述語 |
---|---|
比較述語 | = <> |
In述語 | IN |
表4-10 評価対象がBoolean型の評価である述語
述語の種類 | 述語 |
---|---|
論理述語 | IS TRUE |
Boolean型の値と,クラスライブラリのデータ型との対応を,次の表に示します。
表4-11 Boolean型の値とクラスライブラリのデータ型との対応
データ型 | 値 |
---|---|
DmaBoolean型 | DMA_TRUE(=1) DMA_FALSE(=0) DMA_UNKNOWN(=2) |
Boolean型の評価に,クラスライブラリのデータ型と対応するものはありません。
Integer32型で表現するのは,4バイト(32ビット)で表現できる符号付き整数値,または符号と数字文字列で表現する,整数リテラルです。
次に,Integer32型のデータ型を使用する表現形式,演算子,関数および述語について説明します。また,クラスライブラリとの値との対応についても説明します。
Integer32型の値の表現形式を次の表に示します。
表4-12 Integer32型の値の表現形式
値の種類 | 定義 |
---|---|
リテラル | 符号および数字列 |
プロパティ | Integer32型のプロパティ 格納値:-2,147,483,648~2,147,483,647 |
変数として指定できる値 | ?パラメタ |
Integer32型の値を被演算子または引数として扱う演算子および関数を次の表に示します。
表4-13 Integer32型の値を被演算子または引数とする演算子・関数
演算子・関数の種類 | 演算子・関数 |
---|---|
整数の四則演算子 | + - * / |
単項演算子 | + - |
数値関数 | ABS() |
評価対象がInteger32型の値である述語を次の表に示します。
表4-14 Integer32型の値を評価対象とする述語
述語の種類 | 述語 |
---|---|
比較述語 | = < > <= >= <> |
In述語 | IN |
Between述語 | BETWEEN |
クラスライブラリのデータ型との対応を次の表に示します。
表4-15 Integer32型の値とクラスライブラリのデータ型との対応
データ型 | 値 |
---|---|
DmaInteger32型 | -2,147,483,648~2,147,483,647 |
String型で表現するのは,DocumentBrokerで使用できる文字コードセットから構成される任意の長さの文字列です。DocumentBrokerで使用できる文字コードセットについては,「4.5.4(1) 文字コードセットとの対応」を参照してください。
次に,String型のデータ型を使用する表現形式,演算子,関数および述語について説明します。また,クラスライブラリとの値との対応についても説明します。
String型の値の表現形式を,次の表に示します。
表4-16 String型の値の表現形式
値の種類 | 定義 |
---|---|
リテラル | '任意の文字列' 詳細は,「4.5.4(6) <リテラル>」を参照してください。 |
プロパティ | String型のプロパティ 格納値: 定義長(dmaProp_MaximumLengthStringの値)以下の文字列 |
変数として指定できる値 | ?パラメタ |
String型の値を被演算子または引数とする,演算子を次の表に示します。
表4-17 String型の値を被演算子または引数とする演算子
演算子の種類 | 演算子 |
---|---|
文字列結合演算子 | || |
評価対象がString型の値である述語を次の表に示します。
表4-18 String型の値を評価対象とする述語
述語の種類 | 述語 |
---|---|
比較述語 | = < > <= >= <> |
In述語 | IN |
Between述語 | BETWEEN |
Like述語 | LIKE XLIKE |
クラスライブラリのデータ型との対応を次の表に示します。
表4-19 String型の値とクラスライブラリのデータ型との対応
データ型 | 値 |
---|---|
pDmaString_T型 | 4,294,967,295バイト以下の文字列 |
Object型の値には,次の2種類があります。
オブジェクトリファレンスとは,DMAオブジェクトへのリファレンスを示すObject型プロパティの値です。例えば,dmaProp_ParentContainerプロパティの値がこれに当たります。
Object型の値のうち,オブジェクトリファレンスは検索条件に直接指定できません。検索で指定する場合には,オブジェクトリファレンスが示す実体であるDMAオブジェクトのOIID文字列を指定します。例えば,dmaProp_ParentContainerプロパティの値を指定したい場合,検索条件にはdmaProp_ParentContainerプロパティが参照している実体のDMAオブジェクト(Containerオブジェクトなど)のOIIDを指定します。
このOIID文字列の値は,検索実行時には,次のどちらかの方法でオブジェクトリファレンスであるObject型プロパティの値に変換する必要があります。
また,検索結果としてObject型の値を取得した場合は,oiidstr関数を使用して,そのObject型の値が表すオブジェクトリファレンスの実体であるオブジェクトのOIIDが取得できます。oiidstr関数の詳細については,「4.5.9(2)(c) <oiidstr関数>」を参照してください。
次に,Object型のデータ型を使用する表現形式および述語について説明します。また,クラスライブラリとのデータ型との対応についても説明します。Object型の値を使用する演算子および関数はありません。
Object型の値の表現形式を,次の表に示します。
表4-20 Object型データの表現形式
値の種類 | 定義 |
---|---|
プロパティ | Object型のプロパティ(VariableArray型) |
評価対象がObject型の値である述語を次の表に示します。
表4-21 Object型の値を評価対象とする述語
述語の種類 | 述語 |
---|---|
比較述語 | = |
In述語 | IN |
なお,比較述語,IN述語では,オブジェクトリファレンス同士を比較します。
クラスライブラリのデータ型との対応を次の表に示します。
表4-22 Object型の値とクラスライブラリのデータ型との対応
データ型 | 値 |
---|---|
CdbrVariableArray型オブジェクト (基本単位がVariableArray型) | 次のように定義されているプロパティの値としてだけ対応します。
|
Object型のデータ型の値としてVariableArray型プロパティ以外の値(オブジェクトリファレンス)を扱う場合は,<変換関数>を使用するか,?パラメタを使用してください。
Binary型で表現するのは,任意のバイト列を表現するデータです。主に,文書のコンテンツを表現します。関数の引数や,戻り値に指定する型としてだけ使用できます。プロパティの型としては定義できません。
Binary型が使用できる関数についての詳細は,「4.5.9 関数指定の構文規則」を参照してください。
Binary型のデータの表現形式を,次の表に示します。
表4-23 Binary型のデータの表現形式
値の種類 | 定義 |
---|---|
変数 | ?パラメタ |
Binary型のデータは,?パラメタ以外の形式では表現できません。
クラスライブラリのデータ型との対応を,次の表に示します。
表4-24 Binary型のデータとクラスライブラリのデータ型との対応
データ型 | 値 |
---|---|
pDmaString_T型 | 4,294,967,295バイト以下の文字列※ |