すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:時間フィールド変換の例

最終更新日:Aug 27, 2024

クエリおよび分析中に、システムは、タイムスタンプを特定の形式に変換するなど、ログ内の時間フィールドを処理する必要がある場合があります。 このトピックでは、時間フィールドを変換する方法の例を示します。

時間フィールド

__time__ をタイムスタンプに変換

from_unixtime関数を使用して、__time__ フィールドの値をUNIX timestampからtimestamp値を返すことができるdatetime式に変換できます。

* | select from_unixtime(__time__) 

__time__を特定の形式で表示する

date_format関数を使用して、タイムスタンプ値を返すことができるdatetime式から __time__ フィールドの値を特定の形式に変換できます。

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

ログの元の時間フィールドを特定の形式に変換する

次の手順を実行して、ログの元の時間フィールドを文字列から特定の形式に変換できます。

  1. date_parse関数を使用して、時間フィールドを文字列からYear-Month-Day Hour:Minute:Second形式に変換します。

  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