ADQL 式
ADQL クエリでは、次の 2 つの主なカテゴリの式を使用します。
- SELECT 句で使用されるフィールド式
- WHERE 句で使用される条件式
式を作成するには、次の構文に示されているようにフィールド名、関数、数値、および演算子を使用します。
field_expression の構文(SELECT 句)
- {field_name | function | numeric_literal}
- (式):式をカッコで囲み、クエリ内の操作の順序を示します。
- 次のような数学式:
- unary_operator 式
- binary_operator 式
-
[NOT] 式の COMPARISON_OPERATOR 値 などの condition_expression は SELECT 句内の field_expression で使用されるエイリアスにすることもできます。
例:
SELECT field_name AS myField... WHERE myField > 2
condition_expression の構文(WHERE 句)
- [NOT] 式の COMPARISON_OPERATOR 値
- (condition_expression)
- condition_expression LOGICAL_OPERATOR condition_expression
関数の SELECT 句のフィールド式の構文には、関数を含めることもできます。function_expression の構文は、function(field_name, arguments, ...) です。
| 構文要素 | 説明 |
|---|---|
| field_name または numeric_field_name |
指定したイベントタイプのフィールドの名前。フィールド名にスペースまたは特殊文字が含まれる場合、そのフィールド名には逆引用符が必要です。たとえば、フィールド名 `full name` は、スペースが含まれるため、逆引用符で囲まれています。全リストについては、「特殊文字」を参照してください。 ADQL クエリでは、イベントサービスの内部名を使用します。デフォルトフィールドとその内部名のリストについては、「ADQL データ」を参照してください。 |
| function | 「分析関数」を参照してください。 |
| numeric_literal |
一連の数字。オプションで小数点「.」、符号 {+ | -} を含めることができます。例:2、-4、3.14 |
| unary_operator | - 単項 演算子は、オペランドの値を負にします。 |
| binary_operator | 算術演算子:{*、/、%、+、-}。「数学式」を参照してください。 |
| COMPARISON_OPERATOR | 値を比較する一連の演算子。完全なリストについては、「比較演算子」を参照してください。 |
| LOGICAL_OPERATOR | 「論理演算子」を参照してください。 |
| 値 |
value の構文は {numeric_literal | string | boolean} です。値は、指定された field_name の値と比較するために使用されるテキスト、数値、日付、またはブール値です。値のデータ型は、指定したフィールドのタイプと一致している必要があります。 テキスト文字列には引用符が必要です。数値、日付、ブール値(true または false)および NULL には、引用符は必要ありません。引用符として、一重引用符または二重引用符を使用できます。 |
スペースまたは特殊文字を含むフィールド
イベントサービスの内部名に特殊文字が含まれる場合、その名前を WHERE 句内のフィールド式で使用するときには逆引用符で囲む必要があります。フィールド名が segments.httpData.headers.User-Agent などの場合、ADQL クエリでは segments.httpData.headers.`User-Agent` を使用する必要があります。
例:
SELECT segments.httpData.headers.`User-Agent`, count(segments.httpData.headers.`User-Agent`) FROM transactions WHERE segments.httpData.url = 'http://localhost:29990/packages'スペースやその他の特殊文字が命名に使用される可能性が最も高い状況は、データコレクタを使用してフィールド名が追加される場合です。
特殊文字
ADQL の特殊文字は次のとおりです。
- 等しい:「=」
- 等しくない:「<>」または「!=」
- より小さい:「<」
- 以下:「<=」
- より大きい:「>」
- 以上:「>=」
- 正:「+」
- 負:「-」
- アスタリスク:「*」
- スラッシュ:「/」
- パーセント:「%」
- 連結:「||」
- 疑問符:「?」
- 左丸カッコ:「(」
- 左角カッコ/中カッコ:「 [」
- 右丸カッコ:「)」
- 左各カッコ/中カッコ:「]」
- 二重引用符:「""」
- アンダースコア:「_」