使用查詢分析語句查詢日志時,在一些情況下需要添加引號,例如字段名、表名等專有名詞中存在空格。本文介紹如何在查詢分析語句中使用引號。
在查詢語句中使用引號
說明
當字段名或字段值中存在特殊字符(空格、中文等)、語法關鍵詞(and、or等)等內容時,需要使用雙引號("")包裹。查詢語法的說明和更多示例,請參見查詢語法。
示例
查詢
request method
字段值中包含PUT
的日志。字段名request method
中存在空格,需使用雙引號("")包裹。"request method":PUT
查詢
remote_user
字段值為空的日志。remote_user:""
查詢
region
字段值包含cn*
的日志。這里的
cn*
為一個字符串。如果日志內容為region:cn*,en
,分詞符為半角逗號(,),則該日志內容被拆分為region
、cn*
和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"
文檔內容是否對您有幫助?