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

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

前
次
機械翻訳について

SUBSET関数

SUBSETの行関数は、同じデータ型の2つのセットを使用し、2つ目のセットが1つ目のセットのサブセットの場合のみ、ブールのtrueを返します。

SUBSET関数の構文は、次のとおりです:
SUBSET(<set1>, <set2>)
説明:
  • set1は、任意のセット・データ型(mdex:string-setなど)です。 たとえば、set1は複数割当文字列属性にすることができます。
  • set2は、set1と同じセット・データ型のセットです。 たとえば、set1が複数割当文字列属性の場合、set2も一連の文字列である必要があります(別の複数割当文字列属性など)。set2は、set1内に完全に含まれているかどうかを確認するためにチェックされます。
たとえば、次の文を想定します:
SUBSET(A, B)
つまり、Bがaのサブセットである場合にのみ、SUBSET結果はtrueになります。
結果の例は、次のとおりです({ }は空のセットを示します):
SUBSET({ }, { }) = TRUE
SUBSET({ 1, 2, 3 }, { }) = TRUE
SUBSET({ 1, 2 }, { 1, 2 }) = TRUE
SUBSET({ 1, 2, 3 }, { 1, 2 }) = TRUE
SUBSET({ 1, 3, 5 }, { 1, 2 }) = FALSE
SUBSET({ 1, 2 }, { 'x', 'y', 'z' }) yields a checking error because the two sets are not of the same data type

空のセットは常に、その他のすべてのセット(空のセットを含む)のサブセットであることに注意してください。

SUBSETの例

この例では、FlavorsとBodyの両方が複数割当文字列属性で、WineIDがレコードの主キーです:
RETURN results AS
SELECT 
   WineID AS id,
   SUBSET(Body, Flavors) AS subAttrs
FROM WineState
WHERE WineID < 5
ORDER BY id
この文の結果は次のようになります:
id   subAttrs
-------------
| 1 | true  |
| 2 | true  |
| 3 | false |
| 4 | false |
-------------

結果には、フレーバ・セットがレコード1および2に設定されているが、レコード3および4には設定されていない本文のサブセットであることが示されています。