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

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

前
次
機械翻訳について

コンストラクタの設定

EQLでは、ユーザーが問合せ内にセットを直接書き込むことができます。

セット・コンストラクタの構文は次のとおりです:
{<expr1> [,<expr2>]*}
中カッコで囲まれた1つ以上の式のカンマ区切りリスト。
たとえば、次のような整数が設定されています:
{ 1, 4, 7, 10 }
これが文字列セットです:
{ 'Red', 'White', 'Merlot', 'Chardonnay' }
セット・コンストラクタを使用する場合は、次のことに注意してください:
  • セット・コンストラクタは、式が有効な問合せ内のすべての場所で使用できます。 (セット・コンストラクタには設定タイプがあるため、アトミック値を必要とするコンテキストでセット・コンストラクタを使用すると、EQL確認エラーが発生します。)
  • セット・コンストラクタの各要素は、型が正しいかぎり、任意の式になる場合があります。 たとえば、x、yおよびzが整数である場合、次のように記述できます:
    { x, y + z, 3 }
  • 中カッコ内のすべての式の型は同じである必要があります。 たとえば、整数と文字列を混在させることはできません。
  • 空のセット・コンストラクタは許可されていません。中カッコ内に式が少なくとも1つ必要です。

EQLによって、必要に応じてセット・コンストラクタ内の整数のdoubleが促進されることに注意してください。 したがって、{1, 2}を記述するとmdex:long-setタイプになり、{1, 2.5}ではmdex:double-setタイプが作成されます。

コンストラクタの例の設定

この最初の例では、SELECT句は、2つの要素として'Red'および'White'を含む文字列タイプ・セット(selectWinesという名前)を構成します。 その後、selectWinesセットはHAVING句で使用され、戻されるレコードを、'Red'または'White'のWineType割当を持つレコードに制限します。
RETURN results AS
SELECT
   {'Red', 'White'} AS selectWines,
   WineID AS idRec,
   WineType AS wines,
   Body AS bodyAttr
FROM WineState
HAVING wines IN selectWines
ORDER BY idRec
この2つ目の例は、セットがWHERE句で使用されることを除き、最初の例と同様です:
RETURN results AS
SELECT
   WineID AS idRec,
   WineType AS wines,
   Body AS bodyAttr
FROM WineState
WHERE WineType IN {'Red', 'White'} 
ORDER BY idRec

どちらの問合せでも、WineTypeが赤または白のレコードのみが返されます。