プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

IS_EMPTY関数およびIS_NOT_EMPTY関数

IS_EMPTYおよびIS_NOT_EMPTY関数によって、セットが空であるかどうかが判別されます。 IS EMPTY関数およびIS NOT EMPTY関数は、これらの関数の代替構文を提供します。

注意:

IS NULLおよびIS NOT NULLの操作はセットに対してはサポートされません。

例のサンプル・データ

これらの関数を示すために使用されるサンプル・データは、本文の複数割当文字列属性と5つのレコードで構成されています:
Rec ID     Body attribute
---------------------------
| 16 | { Silky, Tannins } |
| 17 | { }                |
| 18 | { Silky, Tannins } |
| 19 | { Fresh, Robust }  |
| 20 | { }                |
| 21 | { }                |
| 22 | { Firm, Robust }   |
---------------------------

3つのレコードには本文の割当がない(つまり、空のセットである)ため、他の3つのレコードには2つの本体の割当があります。

これらの関数は、例のWHERE 句で使用されています。 ただし、SELECTおよびHAVINGの句など、任意の式を使用できるすべての場所で使用できます。

IS_EMPTY関数

IS_EMPTY関数はセットを取り、そのセットが空の場合はTRUEを返します。 IS_EMPTY関数の構文は、次のとおりです:
IS_EMPTY(<set>)
setは、任意のセットのデータ型(mdex:string-setまたはmdex:long-setなど)です。 たとえば、setは複数割当のdouble属性にすることができます。
次に、2つの結果の例を示します({ }は空のセットを示します):
IS_EMPTY({ }) = TRUE
IS_EMPTY({ 1 }) = FALSE
この例では、Body属性はemptinessをチェックされます:
RETURN results AS
SELECT 
   WineID AS idRec,
   Body AS bodyAttr
FROM WineState
WHERE (WineID BETWEEN 16 AND 22) AND (IS_EMPTY(Body))
ORDER BY idRec
この文の結果は次のようになります:
idRec
------
| 17 |
| 20 |
| 21 |
------

結果には、空の本文が設定されているため、レコード17、20および21のみが返されます。

IS EMPTY関数

IS EMPTY関数は、IS_EMPTYの代替構文を提供し、空の場合はTRUEを返します。

IS EMPTY関数の構文は、次のとおりです:
<set> IS EMPTY
setは、マルチ割当てdouble属性など、任意のセット・データ型のセットです。
前述のIS_EMPTYの例は、次のようにリライトできます:
RETURN results AS
SELECT 
   WineID AS idRec,
   Body AS bodyAttr
FROM WineState
WHERE (WineID BETWEEN 16 AND 22) AND (Body IS EMPTY)
ORDER BY idRec

この例の結果は、前のIS_EMPTYの例と同じです。

IS_NOT_EMPTY関数

IS_NOT_EMPTY関数は設定を受け取り、そのセットが空でない場合はTRUEを返します。 IS_NOT_EMPTY関数の構文は、次のとおりです:
IS_NOT_EMPTY(<set>)
ここで、setは任意のセット・データ型のセットです。 たとえば、setは複数割当のジオコード属性にすることができます。
2つの結果の例を次に示します({ }は空のセットを示します):
IS_NOT_EMPTY({ }) = FALSE
IS_NOT_EMPTY({ 1 }) = TRUE
この例では、本文属性でメッセージ非空白をチェックしています:
RETURN results AS
SELECT 
   WineID AS idRec,
   Body AS bodyAttr
FROM WineState
WHERE (WineID BETWEEN 16 AND 22) AND (IS_NOT_EMPTY(Body))
ORDER BY idRec
この文の結果は次のようになります:
bodyAttr              idRec
----------------------------
| { Silky, Tannins }  | 16 |
| { Silky, Tannins }  | 18 |
| { Fresh, Robust }   | 19 |
| { Firm, Robust }    | 22 |
----------------------------

この結果では、レコード16、18、19および22は、空でない本文セットがあるため返されます。 ただし、レコードに本文が割り当てられていないため、レコード17、20および21は返されません(したがって、これらのセットは空になります)。

IS NOT EMPTY関数

IS NOT EMPTY関数は、IS_NOT_EMPTYの代替構文を提供し、空でない場合はTRUEを返します。

IS NOT EMPTY関数の構文は、次のとおりです:
<set> IS NOT EMPTY
ここで、setは、複数割当文字列属性などの任意のセット・データ型のセットです。
前述のIS_NOT_EMPTYの例は、次のようにリライトできます:
RETURN results AS
SELECT 
   WineID AS idRec,
   Body AS bodyAttr
FROM WineState
WHERE (WineID BETWEEN 16 AND 22) AND (Body IS NOT EMPTY)
ORDER BY idRec

この例の結果は、前のIS_NOT_EMPTYの例と同じです。