本文介绍日志服务支持的条件表达式及常见场景的示例。
运算符 | 语法 | 说明 |
---|---|---|
| 根据不同的条件返回不同的结果,可用于数据分类。 | |
| 如果 condition 为真,则返回 result,否则返回 null。 | |
| 如果 condition 为真,则返回 result1,否则返回 result2。 |
CASE WHEN 表达式支持根据不同的条件返回不同的结果,可用于数据分类。
语法格式
CASE WHEN condition1 THEN result1 [WHEN condition2 THEN result2] ... [ELSE resultN] END
参数说明
参数 | 说明 |
---|---|
condition | 条件表达式。 |
THEN result | 当 WHEN 子句中的条件为真时,返回该结果。 |
ELSE result | 当 WHEN 子句中的条件不为真时,返回该结果。 |
场景
通过 CASE WHEN 表达式对请求时间进行分类,并计算每个类别的请求数量。
检索和分析语句
* | SELECT CASE WHEN ReqTime <= 500 then '响应较快' WHEN ReqTime BETWEEN 501 AND 5000 then '响应正常' ELSE '响应较慢' END AS ReqTime, count(*) AS pv GROUP BY ReqTime
检索和分析结果
IF 表达式用于根据条件返回结果。与 CASE WHEN 表达式类似。
语法格式
如果 condition 为真,则返回 result,否则返回 null。
IF(condition, result)
如果 condition 为真,则返回 result1,否则返回 result2。
IF(condition, result1, result2)
参数说明
参数 | 说明 |
---|---|
condition | 用于判断的条件表达式。 |
result | 返回的结果。 |
场景
通过 IF 表达式对请求时间进行分类,并计算每个类别的请求数量。
检索和分析语句
* | SELECT IF(ReqTime > 100, '异常', '正常') AS time, COUNT(*) AS pv GROUP BY time
检索和分析结果