全部產品
Search
文件中心

Simple Log Service:時間欄位轉換樣本

更新時間:Jun 30, 2024

在查詢分析中往往需要對日誌中的時間欄位進行處理,例如將時間戳記轉換成指定格式等,本文檔介紹時間欄位的常用轉換樣本。

時間欄位

把__time__轉化成時間戳記

使用from_unixtime函數__time__欄位,從UNIX時間戳記轉化為timestamp類型的日期和時間運算式。

* | select from_unixtime(__time__) 

把__time__以指定格式列印

使用date_format函數將欄位__time__,從 timestamp類型的日期和時間運算式的形式轉換為指定格式。

* | select date_format(__time__, '%Y-%m-%d %H:%i:%S') 

把日誌中的時間轉換成指定格式

把日誌中的時間欄位從字元轉化成指定格式。

  1. 使用date_parse函數將時間欄位,從字串轉化成年-月-日 時:分:秒

  2. 使用date_format函數截取年-月-日部分。

  3. 使用group by進行分組。

  • 日誌範例:

    __topic__:  
    body_byte_sent:  307
    hostname:  example.com
    http_user_agent:  Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 QQ/192.0.2.1 V1_IPH_SQ_7.1.8_1_APP_A Pixel/750 Core/UIWebView NetType/WIFI QBWebViewType/1
    method:  GET
    referer:  www.example.com
    remote_addr:  192.0.2.0
    request_length:  111
    request_time:  2.705
    status:  200
    upstream_response_time:  0.225582883754
    url:  /?k0=v9&
    time:2017-05-17 09:45:00
  • SQL語句範例:

    * | select date_format (date_parse(time,'%Y-%m-%d %H:%i:%S'), '%Y-%m-%d') as day, count(1) as uv group by day order by day asc