You need to enable JavaScript to run this app.
导航
条件表达式
最近更新时间:2024.09.04 19:01:59首次发布时间:2024.09.04 19:01:59

本文介绍日志服务支持的条件表达式及常见场景的示例。

条件表达式列表

运算符

语法

说明

CASE WHEN 表达式

CASE WHEN condition1 THEN result1
    [WHEN condition2 THEN result2]
    ...
    [ELSE resultN]
END

根据不同的条件返回不同的结果,可用于数据分类。

IF 表达式

IF(condition, result)

如果 condition 为真,则返回 result,否则返回 null。

IF(condition, result1, result2)

如果 condition 为真,则返回 result1,否则返回 result2。

CASE WHEN 表达式

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 表达式

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
    
  • 检索和分析结果
    图片