tencent cloud

Cloud Log Service

条件式

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:32:16
AI翻訳
本文では、条件式の構文と例を紹介します。
式
文法
説明
CASE WHEN condition1 THEN result1 [WHEN condition2 THEN result2] [ELSE result3] END
条件判断によってデータを分類します。
IF(condition, result1)
condition が true の場合、result1 を返します。それ以外の場合は null を返します。
IF(condition, result1, result2)
condition が true の場合、result1 を返します。それ以外の場合は result2 を返します。
NULLIF(expression1, expression2)
2つの式の値が等しいかどうかを比較します。等しい場合は null を返し、それ以外の場合は最初の式の値を返します。
TRY(expression)
例外情報をキャプチャし、システムがクエリと分析操作を継続できるようにします。
COALESCE(expression1, expression2...)
複数の式から最初の非 NULL 値を取得します。

CASE WHEN 構文

CASE WHEN構文はデータの分類に使用されます。

構文

CASE WHEN condition1 THEN result1
[WHEN condition2 THEN result2]
[ELSE result3]
END

パラメータ説明

パラメータ
説明
condition
条件式。
result
結果を返します。

例

例1

http_user_agentフィールド値からブラウザ情報を抽出し、Chrome、Safari、unknownの3種類に分類し、3種類に対応するアクセスPVを計算します。
* |
SELECT
CASE
WHEN http_user_agent like '%Chrome%' then 'Chrome'
WHEN http_user_agent like '%Safari%' then 'Safari'
ELSE 'unknown'
END AS http_user_agent,
count(*) AS pv
GROUP BY
http_user_agent

例2

異なるリクエスト時間の分布状況を統計します。
* |
SELECT
CASE
WHEN request_time < 0.001 then 't0.001'
WHEN request_time < 0.01 then 't0.01'
WHEN request_time < 0.1 then 't0.1'
WHEN request_time < 1 then 't1'
ELSE 'overtime'
END AS request_time,
count(*) AS pv
GROUP BY
request_time

IF 構文

IF構文はデータの分類に使用され、CASE WHEN式に類似しています。

構文

conditionがtrueの場合、result1を返し、それ以外の場合はnullを返します。
IF(condition, result1)
conditionがtrueの場合、result1を返し、それ以外の場合はresult2を返します。
IF(condition, result1, result2)

パラメータ説明

パラメータ
説明
condition
条件式。
result
結果を返します。

例

ステータスコードが200であるリクエストが全リクエストに占める割合を計算します。
* |
SELECT
sum(IF(status = 200, 1, 0)) * 1.0 / count(*) AS status_200_percentag

NULLIF 式

NULLIF式は2つの式の値が等しいかどうかを比較するために使用されます。等しい場合はnullを返し、それ以外の場合は最初の式の値を返します。

構文

NULLIF(expression1, expression2)

パラメータ説明

パラメータ
説明
expression
任意の有効なスカラー式。

例

server_addr、http_hostの2つのフィールドの値が同じかどうかを判断します。異なる場合は、server_addrフィールドの値を返します。
* | SELECT NULLIF(server_addr,http_host)

TRY 式

TRY式は例外情報をキャッチし、システムがクエリと分析操作を継続して実行できるようにするために使用されます。

構文

TRY(expression)

パラメータ説明

パラメータ
説明
expression
任意の型の式。

例

regexp_extract関数の実行中に例外が発生した場合、try関数は例外情報をキャッチし、クエリと分析操作を継続して、クエリと分析の結果を返します。
* |
SELECT
TRY(regexp_extract(uri, '.*\\/(index.*)', 1))
AS file, count(*)
AS count
GROUP BY
file

COALESCE 式

COALESCE式は、複数の式の中で最初の非NULL値を取得するために使用されます。

構文

COALESCE(expression1, expression2...)

パラメータ説明

パラメータ
説明
expression
任意の有効なスカラー式。

例

* | select COALESCE(null, 'test')


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック