全部產品
Search
文件中心

Simple Log Service:如何在查詢和分析語句中使用引號?

更新時間:Jun 30, 2024

使用查詢分析語句查詢日誌時,在一些情況下需要添加引號,例如欄位名、表名等專有名詞中存在空格。本文介紹如何在查詢分析語句中使用引號。

在查詢語句中使用引號

說明

當欄位名或欄位值中存在特殊字元(空格、中文等)、文法關鍵詞(and、or等)等內容時,需要使用雙引號("")包裹。查詢文法的說明和更多樣本,請參見查詢文法結構

樣本

  • 查詢request method欄位值中包含PUT的日誌。欄位名request method中存在空格,需使用雙引號("")包裹。

    "request method":PUT
  • 查詢remote_user欄位值為空白的日誌。

    remote_user:""
  • 查詢region欄位值包含cn*的日誌。

    這裡的cn*為一個字串。如果日誌內容為region:cn*,en,分詞符為半形逗號(,),則該日誌內容被拆分為regioncn*en,你可以通過下述語句查詢到該日誌。

    region:"cn*"

在分析語句(SELECT語句)中使用引號

說明

  • 當欄位名、表名等專有名詞中存在特殊字元(空格、中文等)、文法關鍵詞(and、or等)等內容時,需要使用雙引號("")包裹。

  • 表示字串的字元必須使用單引號('')包裹,無符號包裹或被雙引號("")包裹的字元表示欄位名或列名。例如:'status'表示字串status,status"status"表示日誌欄位status。

樣本

  • 計算請求時間長度的前10名。

    列名top 10中存在空格,需使用雙引號("")包裹。

    * | SELECT max(request_time,10) AS "top 10"
  • 查詢包含192.168.XX.XX的日誌。

    * | select * from log where key like '192.168.%.%'
  • 統計不同請求狀態對應的日誌數量。

    此處content欄位的索引為JSON類型。更多資訊,請參見如何查詢和分析有索引的JSON欄位

    * | SELECT "content.status", COUNT(*) AS PV GROUP BY "content.status"