IS_MEMBER_OF
行関数は、アトミック値と集合を取得し、その集合内でアトミック値が発生しているかどうかを示すブールを返します。
IS_MEMBER_OF
関数の構文は、次のとおりです:
IS_MEMBER_OF(<atomic-value>, <set>)
説明:
{ }
は空のセットを示します):
IS_MEMBER_OF(1, { }) = FALSE IS_MEMBER_OF(1, { 1, 2, 3 }) = TRUE IS_MEMBER_OF(1, { 2, 3, 4 }) = FALSE IS_MEMBER_OF(NULL, { }) = NULL IS_MEMBER_OF(NULL, { 1, 2, 3 }) = NULL IS_MEMBER_OF(1, { 'a', 'b', 'c' }) yields a checking error because the atomic value and the set elements are not of the same data type
IS_MEMBER_OF
関数は、メンバーシップ・チェック関数として使用します。
IS_MEMBER_OFの例
RETURN results AS SELECT WineID AS idRec, IS_MEMBER_OF(82, Score) AS memberAttrs FROM WineState WHERE WineID BETWEEN 22 AND 25 ORDER BY idRec
idRec memberAttrs -------------- | 22 | false | | 23 | true | | 24 | false | | 25 | true | --------------
結果には、Records 23と25のスコア・セットに82の数字があり、Records 22と24ではないことが示されます。
IS_MEMBER_OF
関数の最初の引数として使用し、2番目の引数としてスコア・セット(整数要素を持つ)を使用しています:
RETURN results AS SELECT WineID AS idRec, IS_MEMBER_OF(Ranking, Score) AS memberAttrs FROM WineState ORDER BY idRec
WHERE
句でIS_MEMBER_OF
関数を使用する点が異なります:
RETURN results AS SELECT WineID AS idRec, Price AS prices FROM WineState WHERE IS_MEMBER_OF(Ranking, Score) AND Price IS NOT NULL ORDER BY idRec
IN式の使用
IS_MEMBER_OF
関数のかわりに、IN
式を使用できます。 これを説明するため、例3は次のようにリライトできます:
RETURN results AS SELECT WineID AS idRec, Price AS prices FROM WineState WHERE Ranking IN Score AND Price IS NOT NULL ORDER BY idRec
IN
式の詳細は、INを参照してください。