=、!=、<、> などの比較演算子、LIKE、および IN は、ADQL クエリステートメントの WHERE 句の condition_expressions で使用できます。 

このページでは、condition_expression 構文で使用できる比較演算子について説明します。

演算子

文字列の比較では大文字と小文字が区別されません。

演算子説明サポートされている使用法
=等しい:指定した field_name の値が式で指定した値と等しい場合は True。イコール演算子を使用した文字列の比較では、大文字と小文字が区別されます。分析対象外フィールド
!=等しくない:指定した field_name の値が指定した値と等しくない場合は True。分析対象外フィールド
>より大きい:指定した field_name の値が指定した値より大きい場合は True。整数型、浮動小数点型、および日付型の分析対象外フィールド
>=以上:指定した field_name の値が指定した値以上の場合は True。整数型、浮動小数点型、および日付型の分析対象外フィールド
<より小さい:指定した field_name の値が指定した値より小さい場合は True。整数型、浮動小数点型、および日付型の分析対象外フィールド
<=以下:指定した field_name の値が指定した値以下である場合は True。整数型、浮動小数点型、および日付型の分析対象外フィールド
IN

フィールドの値が文字列値または数値のリスト内のいずれかの指定値に等しいレコードを検索します。IN の値はカッコで囲む必要があります。文字列値は一重引用符で囲む必要があります。IN演算子に対して指定した値のリスト内でワイルドカードを使用できます。

例:

SELECT transactionName, percentile(segments.transactionTime, 90) FROM transactions 
WHERE application = 'prd-analytics' AND transactionName IN ('api_v2./v2/events/*/search','api_v1./v1/events/*/search')

分析対象外フィールドのみ。分析対象フィールドに対しては無効です。

LIKE

LIKE 演算子によって、文字列値とフィールド値を分析する全文検索が実行されます。文字列値にスペースで区切った複数の用語が含まれる場合は、用語の AND 条件として処理されます。LIKE を使用して分析対象フィールドの値を検索します。

LIKE 演算子は、ワイルドカードの使用をサポートしています。

LIKE は、大文字と小文字が混在する文字列のクエリではサポートされません。たとえば、「pEer」を含むログメッセージに対するクエリは、検索文字列「peer」と一致しません。これは、「pEer」が検索アナライザによって 2 つの別個のトークン(「p」と「eer」)にトークン化されるためです。

分析対象フィールドの全文検索
BETWEEN

包含または除外の値範囲に基づいてフィールドの値を検索します包含範囲の検索では、角カッコ [ ] を使用します。除外値範囲の場合は、丸カッコ ( ) を使用します。

整数、浮動小数点、および日付(4.4.1 で新しくサポート)の各データ型でサポートされています。
IS NULLフィールドに値が含まれていないレコードを検索します。分析対象外フィールドおよび分析対象フィールド
IS NOT NULL フィールドに値が含まれているレコードを検索します。分析対象フィールドおよび分析対象外フィールド
NOT BETWEEN フィールドに包含または除外値範囲の値が含まれていないレコードを検索します。BETWEEN の逆。 分析対象外フィールド
NOT LIKELIKE の逆。分析対象フィールド
NOT IN

フィールドの値が文字列値または数値のリスト内の値に一致しないレコードを検索します。NOT IN の値は丸カッコで囲む必要があり、文字列値は一重引用符で囲む必要があります。

また、この比較演算子とは無関係な論理演算子 NOT もあります。

分析対象外フィールド
REGEXPREGEXP 演算子は、引数として渡されたパターンに対して、文字列の正規表現パターンマッチングを適用します。使用方法の詳細については、「REGEXP 演算子」を参照してください。これは高度な機能であり、正規表現パターンの知識が必要です。

分析対象外フィールド

分析対象フィールドの場合:

  • 小文字の入力文字列を使用します。
  • トークンをまたいだ検索には使用しないでください。

*

?

ワイルドカード演算子。文字列フィールドのクエリでワイルドカードの使用がサポートされます。アスタリスク「*」文字はゼロ以上の文字と一致し、疑問符「?」文字は 1 つの文字と一致します。

ワイルドカード演算子は、イコール「=」または LIKE 演算子と一緒に使用する場合と同様に動作します。

ワイルドカード演算子は、分析対象外フィールドに対しては大文字と小文字が区別されます

分析対象フィールドおよび分析対象外フィールド

クエリ結果

SELECT * FROM mobile_snapshots WHERE appkey='your_appkey' AND numeric_field_name IN (1419, 613, 748)

指定した数値フィールドの値が丸カッコ内のいずれかの値と一致する、指定した appkey のモバイルスナップショットのすべてのフィールドが返されます。

SELECT count(*) FROM browser_records WHERE appkey='your_appkey' AND field_name IN ('string1','string2', 'string3')

指定したフィールドの値が指定したいずれかの文字列と一致する、指定した appkey のブラウザレコードの数が返されます。
SELECT ip FROM browser_records WHERE ip LIKE "10.134.*"ワイルドカード演算子を使用して IP アドレス範囲をフィルタ処理することで、指定した IP アドレス範囲内のレコードを検索します。
SELECT * FROM logs WHERE message LIKE 'DEBUG Adding operation'サンプルのログ行「DEBUG com.appdynamics.operations.PublishTestService - Adding to bulk publish operation.」に一致します。
SELECT * FROM logs WHERE message LIKE 'error'フィールド内に「Error」という単語があるすべてのログイベントを検索します。

SELECT * FROM transactions WHERE application='yourAppName' AND cartTotal BETWEEN [10, 50]

包含範囲:カートの合計が 10 ~ 50(10 および 50 を含む)のすべてのトランザクションが返されます。
SELECT * FROM transactions WHERE application='yourAppName' AND cartTotal BETWEEN (10, 50)除外範囲:カートの合計が 10 ~ 50(10 と 50 は含まれない)のすべてのトランザクションが返されます。