IS_EMPTY
およびIS_NOT_EMPTY
関数によって、セットが空であるかどうかが判別されます。 IS EMPTY
関数およびIS NOT EMPTY
関数は、これらの関数の代替構文を提供します。
注意:
IS NULL
およびIS NOT NULL
の操作はセットに対してはサポートされません。
例のサンプル・データ
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属性にすることができます。
{ }
は空のセットを示します):
IS_EMPTY({ }) = TRUE IS_EMPTY({ 1 }) = FALSE
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は複数割当のジオコード属性にすることができます。
{ }
は空のセットを示します):
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
の例と同じです。