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

Simple Log Service:日付と時間の関数

最終更新日:Nov 25, 2024

Simple Log Serviceでは、さまざまな種類の日付と時刻の関数を使用してログデータを処理できます。 関数は、時間関数、日付関数、日付および時刻抽出関数、時間間隔関数、および時系列パディング関数を含む。 関数を使用して、ログの日付と時刻の形式を変換できます。 関数を使用して、ログをグループ化および集計することもできます。 このトピックでは、日付と時刻の関数の構文について説明します。 このトピックでは、関数の使用方法の例も示します。

次の表に、Simple Log Serviceでサポートされている日付と時刻の機能を示します。

重要
  • Simple log Serviceのログのタイムスタンプは1秒まで正確です。 したがって、時間形式は2番目にのみ指定できます。 詳細については、「フォーマット」をご参照ください。

  • 時間形式は、時間文字列の時間に対してのみ指定する必要があります。 タイムゾーンなどの他のパラメーターには、時間形式を指定する必要はありません。 詳細については、「フォーマット」をご参照ください。

  • Simple log Serviceの各ログには、予約済みの __time__ フィールドが含まれます。 フィールドの値はUNIXタイムスタンプです。 例: 1592374067、2020-06-17 14:07:47を示します。

  • 分析ステートメントで文字列を使用する場合は、文字列を単一引用符 ('') で囲む必要があります。 囲まれていない文字列または二重引用符 ("") で囲まれている文字列は、フィールド名または列名を示します。 例えば、 'status' はステータスの文字列を示し、status または "status" はステータスログフィールドを示します。

カテゴリ

関数

構文

説明

SQLでサポート

SPLでサポート

日付と時間の関数

current_date関数

current_date

現在の日付を返します。

×

current_time関数

current_time

現在の時間とタイムゾーンを返します。

×

current_timestamp関数

current_timestamp

現在の日付、時刻、およびタイムゾーンを返します。

×

current_timezone関数

current_timezone()

現在のタイムスタンプを返します。

×

日付関数

日付 (x)

datetime式の日付部分を返します。

×

date_format関数

date_format( x, format)

timestamp値を返すことができるdatetime式を、指定した形式のdatetime式に変換します。

date_parse関数

date_parse( x, format)

datetime文字列を、タイムスタンプ値を返すことができ、指定された形式のdatetime式に変換します。

from_iso8601_date関数

from_iso8601_date( x)

ISO 8601形式の日付式を、日付値を返すことができる日付式に変換します。

×

from_iso8601_timestamp関数

from_iso8601_timestamp( x)

ISO 8601形式のdatetime式を、タイムスタンプ値を返すことができるdatetime式に変換します。

×

from_unixtime関数

from_unixtime( x)

UNIX timestampを、タイムスタンプ値を返すことができ、タイムゾーンを含まないdatetime式に変換します。

from_unixtime( xタイムゾーン)

UNIX timestampを、timestamp値を返すことができ、タイムゾーンを含むdatetime式に変換します。

×

from_unixtime( x時間)

UNIX timestampを、timestamp値を返すことができ、タイムゾーンを含むdatetime式に変換します。 datetime式では、hoursminutesの値はタイムゾーンのオフセットを示します。

×

localtime関数

localtime

ローカル時刻を返します。

×

localtimestamp関数

localtimestamp

ローカルの日付と時刻を返します。

×

now function

now()

現在の日付と時刻を返します。

この関数はcurrent_timestamp関数に相当します。

×

to_iso8601関数

to_iso8601( x)

日付またはタイムスタンプ値を返すことができるdatetime式を、ISO 8601形式のdatetime式に変換します。

×

to_unixtime関数

to_unixtime( x)

timestamp値を返すことができるdatetime式をUNIX timestampに変換します。

日時抽出関数

日関数

日 (x)

datetime式から月の日を返します。

この関数はday_of_month関数に相当します。

×

day_of_month関数

day_of_month( x)

datetime式から月の日を返します。

この関数は日関数に相当します。

×

day_of_week関数

day_of_week( x)

datetime式から曜日を返します。

この関数はdow関数に相当します。

day_of_year関数

day_of_year( x)

datetime式から年の日付を返します。

この関数はdoy関数に相当します。

dow関数

ダウ (x)

datetime式から曜日を返します。

この関数はday_of_week関数と同じです。

doy関数

doy( x)

datetime式から年の日付を返します。

この関数はday_of_year関数に相当します。

抽出関数

extract (xからのフィールド)

指定されたフィールドをdatetime式から返します。 フィールドには日付または時刻を指定できます。

×

時間関数

時間 (x)

datetime式からその日の時間を返します。 24時間時計が使用されます。

分関数

分 (x)

datetime式から時間の分を返します。

月関数

月 (x)

datetime式から年の月を返します。

四半期関数

四半期 (x)

指定された日付が属する年の四半期を返します。

第2の関数

秒 (x)

datetime式から分の秒を返します。

timezone_hour関数

timezone_hour( x)

タイムゾーンのオフセットを時間単位で返します。

×

timezone_minute関数

timezone_minute( x)

タイムゾーンのオフセットを分単位で返します。

×

週関数

週 (x)

指定された日付が属する年の週を返します。

この関数はweek_of_year関数に相当します。

×

week_of_year関数

week_of_year( x)

指定された日付が属する年の週を返します。

この関数はweek関数に相当します。

×

年関数

年 (x)

指定した日付の年を返します。

year_of_week関数

year_of_week( x)

指定された日付がISO週日付システムに該当する年を返します。

この関数はyow関数に相当します。

yow関数

yow( x)

指定された日付がISO週日付システムに該当する年を返します。

この関数は、year_of_week関数と同等です。

時間間隔関数

date_trunc関数

date_trunc (ユニット, x)

指定した時間単位に基づいてdatetime式を切り捨てます。 式は、ミリ秒、秒、分、時間、日、月、または年に基づいて切り捨てられます。

×

date_add関数

date_add( unit, N, x)

指定した単位に基づいて、xフィールドの値にNを追加します。

date_diff関数

date_diff( unit, x, y)

2つの時間式の差を返します。 たとえば、指定した時間単位に基づいてxyの差を計算できます。

時系列パディング関数

time_series関数

time_series( xwindowformatpadding_data)

指定された時間ウィンドウで返された値がないフィールドに値を追加します。

×

current_date関数

current_date関数は現在の日付を返します。 戻り値はYYYY-MM-DD形式です。

構文

current_date

戻り値のデータ型

日付のタイプを設定します。

前日のログを照会します。

  • クエリ文 (デバッグ)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_date)
      AND __time__ > to_unixtime(date_add('day', -1, current_date))
  • クエリと分析結果 current_date

current_time関数

current_time関数は、現在の時間とタイムゾーンを返します。 戻り値はHH:MM:SS.Ms Time_zone形式です。

構文

current_time

戻り値のデータ型

時間タイプ。

現在の時間とタイムゾーンを照会します。

  • クエリ文 (デバッグ)

    * | select current_time
  • クエリと分析結果 current_time

current_timestamp関数

current_timestamp関数は、現在の日付、時刻、およびタイムゾーンを返します。 戻り値はYYYY-MM-DD HH:MM:SS.Ms Time_zone形式です。

構文

current_timestamp

戻り値のデータ型

timestampタイプ。

前日のログを照会します。

  • クエリ文 (デバッグ)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_timestamp)
      AND __time__ > to_unixtime(date_add('day', -1, current_timestamp))
  • クエリと分析結果 current_date

current_timezone関数

current_timezone関数は、現在のタイムゾーンを返します。

構文

current_timezone()

戻り値のデータ型

varcharタイプ。

現在のタイムゾーンを照会します。

  • クエリ文 (デバッグ)

    * | select current_timezone()
  • クエリと分析結果 current_timezone

日付関数

date関数は、datetime式のdate部分を返します。 この関数は、cast(x as date) 関数に相当します。 詳細については、「データ型変換関数」をご参照ください。

構文

date(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

日付のタイプを設定します。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、日付関数を使用して、現在の日付と時刻の日付部分を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp, date(current_timestamp)
  • クエリと分析結果 date

date_format関数

date_format関数は、タイムスタンプ値を返すことができるdatetime式を指定された形式のdatetime式に変換します。

構文

date_format(x, format)

パラメーター

パラメーター

説明

x

このパラメーターの値は、タイムスタンプ値を返すことができるdatetime式です。

形式

タイムスタンプ値を返すことができるdatetime式を変換するdatetime式の形式。 詳細については、「フォーマット」をご参照ください。

戻り値のデータ型

varcharタイプ。

NGINXリクエストのステータスを照会し、NGINXリクエストの数を計算してから、照会結果と分析結果を時系列で表示します。 これを行うには、date_trunc関数を使用してログ時間を分単位で切り捨て、date_format関数を使用して時間を % H:% i形式に変換します。 次に、各ステータスコードの1分あたりのリクエスト数を計算し、クエリと分析結果をフローチャートで表示します。

  • クエリ文 (デバッグ)

    * |
    SELECT
      date_format(date_trunc('minute', __time__), '%H:%i') AS time,
      COUNT(1) AS count,
      status
    GROUP BY
      time,
      status
    ORDER BY
      time
  • クエリと分析結果 date_format

date_parse関数

date_parse関数は、datetime文字列を、タイムスタンプ値を返すことができる指定された形式のdatetime式に変換します。

構文

date_parse(x, format)

パラメーター

パラメーター

説明

x

このパラメーターの値はdatetime文字列です。

形式

datetime文字列を変換するタイムスタンプ値を返すことができるdatetime式の形式。 詳細については、「フォーマット」をご参照ください。

戻り値のデータ型

timestampタイプ。

StartTimeフィールドとEndTimeフィールドの値を、タイムスタンプ値を返すことができるdatetime式に変換し、2つのdatetime式の差を計算します。

  • クエリ文

    *|
    SELECT
        date_parse(StartTime, '%Y-%m-%d %H:%i') AS "StartTime",
        date_parse(EndTime, '%Y-%m-%d %H:%i') AS "EndTime",
        date_diff('hour', StartTime, EndTime) AS "Time difference (hour)"
  • クエリと分析結果  date_parse(

from_iso8601_date関数

from_iso8601_date関数は、ISO 8601形式の日付式を、日付値を返すことができる日付式に変換します。 戻り値はYYYY-MM-DD形式です。

構文

from_iso8601_date(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、ISO 8601形式の日付式です。

戻り値のデータ型

日付のタイプを設定します。

timeフィールドの値を、日付値を返すことができる日付式に変換します。

  • サンプルフィールド

    time:2020-05-03
  • クエリ文

    * | select from_iso8601_date(time)
  • クエリと分析結果 from_iso8601_date

from_iso8601_timestamp関数

from_iso8601_timestamp関数は、ISO 8601形式のdatetime式を、タイムスタンプ値を返すことができるdatetime式に変換します。 戻り値はYYYY-MM-DD HH:MM:SS.Ms Time_zone形式です。

構文

from_iso8601_timestamp(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、ISO 8601形式のdatetime式です。

戻り値のデータ型

timestampタイプ。

timeフィールドの値を、タイムスタンプ値を返すことができるdatetime式に変換します。

  • サンプルフィールド

    time:2020-05-03T17:30:08
  • クエリ文

    * | select from_iso8601_timestamp(time)
  • クエリと分析結果 from_iso8601_timestamp

from_unixtime関数

from_unixtime関数は、UNIX timestampをtimestamp値を返すことができるdatetime式に変換します。 戻り値は、YYYY-MM-DD HH:MM:SS.MsまたはYYYY-MM-DD HH:MM:SS.Ms Time_zone形式です。

構文

  • 次の構文を使用すると、この関数はUNIX timestampを、timestamp値を返すことができ、タイムゾーンを含まないdatetime式に変換します。

    from_unixtime(x)
  • 次の構文を使用する場合、関数はUNIX timestampをtimestamp値を返すことができ、タイムゾーンを含むdatetime式に変換します。

    from_unixtime(x,time zone)
  • 次の構文を使用する場合、関数はUNIX timestampをtimestamp値を返すことができ、タイムゾーンを含むdatetime式に変換します。 datetime式では、hoursminutesの値はタイムゾーンのオフセットを示します。

    from_unixtime(x, hours, minutes)

パラメーター

パラメーター

説明

x

このパラメーターの値はUNIX timestampです。

タイムゾーン

タイムゾーン。 例: Asia/shanghai.

時間

時間単位のタイムゾーンのオフセット。 例: + 07および-09。

タイムゾーンのオフセット (分単位) 。 例: + 30および-45。

戻り値のデータ型

timestampタイプ。

timeフィールドの値を、タイムスタンプ値を返すことができ、タイムゾーンを含むdatetime式に変換します。

  • サンプルフィールド

    time:1626774758
  • クエリ文

    * | select from_unixtime(time,'Asia/shanghai')
  • クエリと分析結果 from_unixtime

localtime関数

localtime関数は、ローカル時間を返します。 戻り値はHH:MM:SS.Ms形式です。

構文

localtime

戻り値のデータ型

時間タイプ。

ローカルタイムを照会します。

  • クエリ文 (デバッグ)

    * | select localtime
  • クエリと分析結果 localtime

localtimestamp関数

localtimestamp関数は、ローカルの日付と時刻を返します。 戻り値はYYYY-MM-DD HH:MM:SS.Ms Time_zone形式です。

構文

localtimestamp

戻り値のデータ型

timestampタイプ。

前日のログを照会します。

  • クエリ文 (デバッグ)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(localtimestamp)
      AND __time__ > to_unixtime(date_add('day', -1, localtimestamp))
  • クエリと分析結果 current_date

今関数

now関数は現在の日付と時刻を返します。 戻り値はYYYY-MM-DD HH:MM:SS.Ms Time_zone形式です。 この関数はcurrent_timestamp関数に相当します。

構文

now()

戻り値のデータ型

timestampタイプ。

前日のログを照会します。

  • クエリ文 (デバッグ)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(now())
      AND __time__ > to_unixtime(date_add('day', -1, now()))
  • クエリと分析結果 current_date

to_iso8601関数

to_iso8601関数は、日付またはタイムスタンプ値を返すことができるdatetime式をISO 8601形式のdatetime式に変換します。

構文

to_iso8601(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

varcharタイプ。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、to_iso8601関数を使用して、現在の日付と時刻をISO 8601形式に変換します。

  • クエリ文 (デバッグ)

    * | select to_iso8601(current_timestamp) AS ISO8601
  • クエリと分析結果 to_iso8601

to_unixtime関数

to_unixtime関数は、timestamp値をUNIX timestampに返すことができるdatetime式を変換します。

構文

to_unixtime(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、タイムスタンプ値を返すことができるdatetime式です。

戻り値のデータ型

ダブルタイプ。

前日のログを照会します。

  • クエリ文 (デバッグ)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(now())
      AND __time__ > to_unixtime(date_add('day', -1, now()))
  • クエリと分析結果 current_date

日関数

day関数は、datetime式から月の日を返します。 この関数はday_of_month関数に相当します。

構文

day(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、timestampまたはdate型です。

戻り値のデータ型

bigint型。

current_date関数を使用して、現在の日付を取得します。 次に、日関数を使用して、現在の日付に基づいて月の日を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_date, day(current_date)
  • クエリと分析結果 day

day_of_month関数

day_of_month関数は、datetime式から月の日を返します。 この関数は日関数に相当します。

構文

day_of_month(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、timestampまたはdate型です。

戻り値のデータ型

bigint型。

current_date関数を使用して、現在の日付を取得します。 次に、day_of_month関数を使用して、現在の日付に基づいて月の日付を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_date, day_of_month(current_date)
  • クエリと分析結果 day

day_of_week関数

day_of_week関数は、datetime式から曜日を返します。

構文

day_of_week(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、timestampまたはdate型です。

戻り値のデータ型

bigint型。

current_date関数を使用して、現在の日付を取得します。 次に、day_of_week関数を使用して、現在の日付に基づいて曜日を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_date, day_of_week(current_date)
  • クエリと分析結果 day_of_week

day_of_year関数

day_of_year関数は、datetime式から年の日を返します。

構文

day_of_year(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、timestampまたはdate型です。

戻り値のデータ型

bigint型。

current_date関数を使用して、現在の日付を取得します。 次に、day_of_year関数を使用して、現在の日付に基づいて年の日付を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_date, day_of_year(current_date)
  • クエリと分析結果 day_of_year

dow関数

dow関数は、datetime式から曜日を返します。 この関数はday_of_week関数と同じです。

構文

dow(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、timestampまたはdate型です。

戻り値のデータ型

bigint型。

current_date関数を使用して、現在の日付を取得します。 次に、dow関数を使用して、現在の日付に基づいて曜日を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_date, dow(current_date)
  • クエリと分析結果 day_of_week

doy関数

doy関数は、datetime式から年の日付を返します。 この関数はday_of_year関数に相当します。

構文

doy(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、timestampまたはdate型です。

戻り値のデータ型

bigint型。

current_date関数を使用して、現在の日付を取得します。 次に、doy関数を使用して、現在の日付に基づいて年の日付を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_date, doy(current_date)
  • クエリと分析結果 day_of_year

抽出関数

extract関数は、datetime式から指定されたフィールドを返します。 フィールドには日付または時刻を指定できます。

構文

extract(field from x)

パラメーター

パラメーター

説明

フィールド

有効な値: year、quarter、month、week、day、day_of_month、day_of_week、dow、day_of_year、doy、year_of_week、hour、minute、second、timezone_hour、timezone_minute。

x

このパラメーターの値は、日付、時刻、タイムスタンプ、または間隔 (実際のvarchar(9)) タイプです。

戻り値のデータ型

bigint型。

current_date関数を使用して、現在の日付を取得します。 次に、extract関数を使用して、現在の日付の年を取得します。

  • クエリ文 (デバッグ)

    * | SELECT extract(year from current_date)
  • クエリと分析結果 extract

時間関数

hour関数は、datetime式からその日の時間を返します。 24時間時計が使用されます。

構文

hour(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はtimestamp型です。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、時間関数を使用して、現在の時刻に基づいて1日の時間を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp, hour(current_timestamp)
  • クエリと分析結果 hour

分関数

分関数は、datetime式から時間の分を返します。

構文

minute(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はtimestamp型です。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、分関数を使用して、現在の時刻に基づいて時間の分を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp, minute(current_timestamp)
  • クエリと分析結果 minute

月関数

month関数は、datetime式から年の月を返します。

構文

month(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、月関数を使用して、現在の日付に基づいて年の月を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp, month(current_timestamp)
  • クエリと分析結果 month

四半期関数

quarter関数は、指定された日付が属する年の四半期を返します。

構文

quarter(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、四半期関数を使用して、現在の日付が属する年の四半期を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp,quarter(current_timestamp)
  • クエリと分析結果 quarter

2番目の関数

2番目の関数は、datetime式から分の秒を返します。

構文

second(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はtimestamp型です。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、2番目の関数を使用して、現在の時刻に基づいて分の秒を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp,second(current_timestamp)
  • クエリと分析結果 second

timezone_hour関数

timezone_hour関数は、タイムゾーンのオフセットを時間単位で返します。

構文

timezone_hour(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はtimestamp型です。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、timezone_hour関数を使用して、現在の時刻が属するタイムゾーンのオフセットを時間単位で取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp, timezone_hour(current_timestamp)
  • クエリと分析結果 timezone_hour

timezone_minute関数

timezone_minute関数は、タイムゾーンのオフセットを分単位で返します。

構文

timezone_minute(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はtimestamp型です。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、timezone_minute関数を使用して、現在の時刻が属するタイムゾーンのオフセットを分単位で取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp,timezone_minute(current_timestamp)
  • クエリと分析結果 timezone_minute

週関数

week関数は、指定された日付が属する年の週を返します。 この関数はweek_of_year関数に相当します。

構文

week(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、週関数を使用して、現在の日付が属する年の週を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp, week(current_timestamp)
  • クエリと分析結果 week

week_of_year関数

week_of_year関数は、指定された日付が属する年の週を返します。 この関数はweek関数に相当します。

構文

week_of_year(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、week_of_year関数を使用して、現在の日付が属する年の週を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp, week_of_year(current_timestamp)
  • クエリと分析結果 week

年関数

年関数は、指定された日付の年を返します。

構文

year(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、年関数を使用して、現在の日付の年を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp,year(current_timestamp)
  • クエリと分析結果 year

year_of_week関数

year_of_week関数は、指定された日付がISO週日付システムに含まれる年を返します。 この関数はyow関数に相当します。

構文

year_of_week(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、year_of_week関数を使用して、現在の日付がISO週の日付システムに含まれる年を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp,year_of_week(current_timestamp)
  • クエリと分析結果 year_of_week

yow関数

yow関数は、指定された日付がISO週日付システムに該当する年を返します。 この関数は、year_of_week関数と同等です。

構文

yow(x)

パラメーター

パラメーター

説明

x

このパラメーターの値は、日付またはタイムスタンプタイプです。

戻り値のデータ型

bigint型。

current_timestamp関数を使用して、現在の日付と時刻を取得します。 次に、yow関数を使用して、現在の日付がISO週の日付システムに含まれる年を取得します。

  • クエリ文 (デバッグ)

    * | SELECT current_timestamp, yow(current_timestamp)
  • クエリと分析結果 year_of_week

date_trunc関数

date_trunc関数は、指定した時間単位に基づいてdatetime式を切り捨てます。 式は、ミリ秒、秒、分、時間、日、月、または年に基づいて切り捨てられます。 この関数は、時間による統計分析が必要なシナリオでよく使用されます。

構文

date_trunc(unit, x)

パラメーター

パラメーター

説明

ユニット

時間の単位。 有効な値: ミリ秒、秒、分、時間、日、週、月、四半期、年。 詳細については、「単位」をご参照ください。

x

このパラメーターの値はdatetime式です。

説明

date_trunc関数を使用すると、固定間隔のみに基づいて統計を測定できます。 間隔は、関数で指定する時間単位によって決まります。 時間単位は、分または時間を含む。 カスタム間隔に基づいて統計を測定する場合は、数学的なモジュロ演算を実行してデータをグループ化することをお勧めします。 例えば、数学的なモジュロ演算を行い、5分間隔でデータをグループ化する。

* | SELECT count(1) AS pv,  __time__ - __time__ %300 AS time GROUP BY time LIMIT 100

戻り値のデータ型

パラメーター値のデータ型と同じです。

リクエストの平均時間を分単位で計算します。 次に、期間を時系列でグループ化して並べ替えます。

  • クエリ文 (デバッグ)

    * |
    SELECT
      date_trunc('minute', __time__) AS time,
      truncate (avg(request_time)) AS avg_time,
      current_date AS date
    GROUP BY
      time
    ORDER BY
      time DESC
    LIMIT
      100
  • クエリと分析結果 date_trunc

date_add関数

date_add関数は、日付または時刻に指定された間隔を加算または減算します。

構文

date_add(unit, n, x)

パラメーター

パラメーター

説明

ユニット

時間の単位。 有効な値: ミリ秒、秒、分、時間、日、週、月、四半期、年。 詳細については、「単位」をご参照ください。

n

時間間隔。

x

このパラメーターの値は、タイムスタンプ値を返すことができるdatetime式です。

戻り値のデータ型

timestampタイプ。

前日のログを照会します。

  • クエリ文 (デバッグ)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_timestamp)
      AND __time__ > to_unixtime(date_add('day', -1, current_timestamp))
  • クエリと分析結果 current_date

date_diff関数

date_diff関数は、2つの日付または時点の差を返します。

構文

date_diff(unit, x, y)

パラメーター

パラメーター

説明

ユニット

時間の単位。 有効な値: ミリ秒、秒、分、時間、日、週、月、四半期、年。 詳細については、「単位」をご参照ください。

x

このパラメーターの値は、タイムスタンプ値を返すことができるdatetime式です。

y

このパラメーターの値は、タイムスタンプ値を返すことができるdatetime式です。

戻り値のデータ型

bigint型。

UsageStartTimeおよびUsageEndTimeフィールドに基づいて、サーバーの実行時間を計算します。

  • クエリ文

    * | SELECT  date_diff('hour', UsageStartTime, UsageEndTime) AS "Time difference (hour)"
  • クエリと分析結果 date_diff

time_series関数

time_series関数は、指定された時間ウィンドウで値が返されないフィールドに値を追加します。

重要

time_series関数をGROUP BYおよびORDER BY句と一緒に使用する必要があります。 ORDER BY句でDESCキーワードを使用してデータを並べ替えることはできません。

構文

time_series(x, window_time, format, padding_data)

パラメーター

パラメーター

説明

x

時間列。 例: __time__ このパラメーターの値は、long型またはtimestamp型です。

ウィンドウ_時間

タイムウィンドウの期間。 単位: s、m、h、d。 sは秒を示し、mは分を示し、hは時間を示し、dは日を示す。 例: 2h、5m、および3d。

形式

関数が値を返す時間形式です。 詳細については、「フォーマット」をご参照ください。

padding_data

追加する値。The value that you want to add. 有効な値:

  • 0: 値0を加算する。

  • null: 値nullが追加されます。

  • last: 前の時点の値が追加されます。

  • next: 次の時点の値が追加されます。

  • avg: 前の時点と次の時点の平均値が加算されます。

戻り値のデータ型

varcharタイプ。

2時間以内に値が返されないフィールドに値0を追加します。

  • クエリ文 (デバッグ)

    * | select * from (select time_series(__time__, '2h', '%Y-%m-%d %H:%i:%s', '0') as time, count(*) as num from log group by time order by time) a limit 100
  • クエリと分析結果 时间补全函数示例图

フォーマット

Format

説明

%a

曜日の略語。 例: 太陽と土。

%b

年の月の略語。 例: 1月と12月。

%c

月 値は数値型です。 有効な値: 1 ~ 12。

%D

月の日。 例: 0th、1st、2nd、3rd。

%d

月の日。 値は10進数形式です。 有効な値: 01〜31。

%e

月の日。 値は10進数形式です。 有効な値: 1 ~ 31。

%H

時間です。 24時間時計が使用されます。

%h

時間です。 12時間の時計が使用されます。

%i

分 値は数値型です。 有効な値: 00〜59。

%j

年間通算日 有効値: 001 ~ 366

%k

時間です。 有効な値: 0 ~ 23。

%l

時間です。 有効な値: 1 ~ 12。

%M

完全な月の名前。 例: 1月と12月。

%m

月 値は数値型です。 有効な値: 01〜12。

%p

その日の午前または午後を示す略語。 有効値:AM と PM

%r

時間だ 12時間の時計が使用されます。 時刻はhh:mm:ss AM/PM形式です。

%S

秒 有効な値: 00〜59。

%s

秒 有効な値: 00〜59。

%f

マイクロ秒。 有効な値: 000000〜999999。

%T

時間だ 24時間時計が使用されます。 時刻はhh:mm:ss形式です。

%v

今年の週。 月曜日は週の最初の日です。 有効な値: 01 ~ 53。

%W

曜日のフルネーム。 例: 日曜日と土曜日。

%Y

4桁の年。 例: 2020。

%y

2桁の年。 例: 20。

%%

パーセント記号 (%) のエスケープ文字。

単位

単位

説明

millisecond

ミリ秒

二番目

minute

hour

1 時間

day

1 日

week

month

1 か月

quarter

3 か月

year