You need to enable JavaScript to run this app.
导航
检索分析语句中引号的使用场景是什么?
最近更新时间:2024.11.08 11:15:02首次发布时间:2023.07.21 15:58:03

本文介绍引号在检索分析语句中引号的使用。

使用说明

  • 在检索分析语句中,如果字段名或字段值中存在特殊字符(空格等)、检索运算符(and、or 等)、索引分词符等内容时,需要使用双引号 " 包裹。关于检索语法的更多说明和示例,请参考检索语法
  • 在分析语句(SQL 语句)中,需要使用单引号 ' 包裹代表字符串的字符,无符号包裹或被双引号 " 包裹的字符为字段名或列名。例如 'time' 代表字符串,time"time" 代表字段名或列名。

单引号和双引号的区别

在检索语句中,单引号 ' 和双引号 " 包裹的字符都表示字符串。除以下两点外,单引号 ' 和双引号 " 的语义相同。

  1. 短语查询需使用 #"" 形式,不能使用单引号 ' 替换双引号 "
  2. 使用双引号 " 包裹的星号 * 和问号 ? 不表示通配符,仅代表普通字符;使用单引号 ' 包裹的星号 * 和问号 ? 表示通配符。例如:
    • "abc*" 表示普通查询,查询字符串 abc*
    • 'abc*' 表示通配符查询,查询以 abc 开头的字符串。

在检索语句中使用引号

  • 示例 1:检索 Req Size 字段值大于 100 的日志。
    字段名 Req Size 中存在空格,在检索语句中需使用双引号 " 包裹。

    "Req Size" > 100
    

    Image

  • 示例2:查询包含关键词 open failed 的日志。

    "open failed"
    

    Image

  • 示例3:查询 message 字段中包含关键词 error and failed 的日志。
    此处的 and 为普通检索字符串,不是检索运算符。

    message:"error and failed"
    

    Image

在 SQL 分析语句中使用引号

  • 示例 1:统计各个请求方法对应的请求数量。

    * | SELECT Method, COUNT(*) AS "request total" GROUP BY Method
    

    Image

  • 示例 2:统计各个日志级别对应的日志数量。
    logging 字段为 JSON 格式的字段,level 字段为其子节点。检索分析时,字段格式为 logging.level

    * | SELECT "logging.level", COUNT(*) AS PV GROUP BY "logging.level"
    

    Image