全部产品
Search
文档中心

Simple Log Service:Fungsi tanggal dan waktu

更新时间:Dec 31, 2025

Layanan Log Sederhana menyediakan berbagai fungsi tanggal dan waktu, termasuk fungsi waktu, fungsi tanggal, fungsi ekstraksi tanggal dan waktu, fungsi interval waktu, serta fungsi padding deret waktu. Fungsi-fungsi ini memungkinkan Anda melakukan operasi seperti konversi format, pengelompokan, dan agregasi pada data tanggal dan waktu dalam log Anda. Topik ini menjelaskan sintaks dasar fungsi-fungsi tersebut beserta contoh penggunaannya.

Ikhtisar fungsi tanggal dan waktu

Layanan Log Sederhana mendukung fungsi tanggal dan waktu berikut.

Penting
  • Stempel waktu log dalam Layanan Log Sederhana akurat hingga detik. Oleh karena itu, saat mengonfigurasi format waktu (format), tentukan format hanya hingga detik. Milidetik dan mikrodetik tidak diperlukan.

  • Anda hanya perlu mengonfigurasi format waktu (format) untuk bagian waktu dari string waktu, bukan untuk konten lain seperti zona waktu.

  • Setiap log dalam Layanan Log Sederhana berisi field __time__ yang dicadangkan. Nilai field ini adalah Stempel waktu UNIX. Misalnya, 1592374067 merepresentasikan 2020-06-17 14:07:47.

  • Dalam pernyataan analitik Layanan Log Sederhana, Anda harus membungkus string dengan tanda kutip tunggal (''). Karakter tanpa tanda kutip atau karakter yang dibungkus dengan tanda kutip ganda ("") diinterpretasikan sebagai nama field atau kolom. Misalnya, 'status' merepresentasikan string status, sedangkan status atau "status" merepresentasikan field log status.

Jenis fungsi

Nama fungsi

Sintaks

Deskripsi

Dukungan SQL

Dukungan SPL

Fungsi tanggal dan waktu

fungsi current_date

current_date

Mengembalikan tanggal saat ini.

×

fungsi current_time

current_time

Mengembalikan waktu saat ini beserta zona waktunya.

×

fungsi current_timestamp

current_timestamp

Mengembalikan tanggal, waktu, dan zona waktu saat ini.

×

fungsi current_timezone

current_timezone()

Mengembalikan zona waktu saat ini.

×

fungsi date

date(x)

Mengembalikan bagian tanggal dari ekspresi datetime.

×

fungsi date_format

date_format(x, format)

Mengonversi ekspresi datetime timestamp ke format yang ditentukan.

fungsi date_parse

date_parse(x, format)

Mengonversi string tanggal dan waktu menjadi ekspresi datetime timestamp dalam format yang ditentukan.

fungsi from_iso8601_date

from_iso8601_date(x)

Mengonversi ekspresi tanggal ISO 8601 menjadi ekspresi tipe date.

×

fungsi from_iso8601_timestamp

from_iso8601_timestamp(x)

Mengonversi ekspresi datetime ISO 8601 ke ekspresi tipe timestamp.

×

fungsi from_unixtime

from_unixtime(x)

Mengonversi stempel waktu UNIX menjadi ekspresi datetime timestamp tanpa zona waktu.

from_unixtime(x, time zone)

Mengonversi stempel waktu UNIX menjadi ekspresi datetime timestamp dengan zona waktu.

×

from_unixtime(x, hours, minutes)

Mengonversi stempel waktu UNIX menjadi ekspresi datetime timestamp dengan zona waktu, di mana hours dan minutes adalah offset zona waktu.

×

fungsi localtime

localtime

Mengembalikan waktu lokal.

×

fungsi localtimestamp

localtimestamp

Mengembalikan tanggal dan waktu lokal.

×

fungsi now

now()

Mengembalikan tanggal dan waktu saat ini.

Fungsi now setara dengan fungsi current_timestamp.

×

fungsi to_iso8601

to_iso8601(x)

Mengonversi ekspresi datetime berupa tanggal atau timestamp ke format ISO 8601.

×

fungsi to_unixtime

to_unixtime(x)

Mengonversi ekspresi datetime stempel waktu menjadi stempel waktu UNIX.

fungsi current_unixtimestamp

current_unixtimestamp()

Mengembalikan Unix timestamp sistem saat ini.

×

Fungsi ekstraksi tanggal dan waktu

fungsi day

day(x)

Mengekstraksi hari dalam bulan dari ekspresi datetime.

Fungsi day setara dengan fungsi day_of_month.

×

fungsi day_of_month

day_of_month(x)

Mengekstrak hari dalam bulan dari ekspresi datetime.

Fungsi day_of_month setara dengan fungsi day.

×

fungsi day_of_week

day_of_week(x)

Mengembalikan hari dalam minggu dari ekspresi datetime.

Fungsi day_of_week setara dengan fungsi dow.

fungsi day_of_year

day_of_year(x)

Mengekstrak hari dalam tahun dari ekspresi datetime.

Fungsi day_of_year setara dengan fungsi doy.

fungsi dow

dow(x)

Mengembalikan hari dalam minggu dari ekspresi datetime.

Fungsi dow setara dengan fungsi day_of_week.

fungsi doy

doy(x)

Mengekstraksi hari dalam tahun dari ekspresi datetime.

Fungsi doy setara dengan fungsi day_of_year.

fungsi extract

extract(field from x)

Menggunakan field yang ditentukan untuk mengambil bagian tanggal atau waktu dari ekspresi datetime.

×

fungsi hour

hour(x)

Mengekstraksi jam dalam hari (0–23) dari ekspresi datetime.

minute function

minute(x)

Mengekstrak menit dalam jam dari ekspresi datetime.

fungsi month

month(x)

Mengekstrak bulan dalam tahun dari ekspresi datetime.

fungsi quarter

quarter(x)

Mengembalikan kuartal tahun untuk tanggal yang ditentukan.

fungsi kedua

second(x)

Mengekstrak detik dari menit dalam ekspresi datetime.

fungsi timezone_hour

timezone_hour(x)

Menyediakan offset zona waktu dalam satuan jam.

×

fungsi timezone_minute

timezone_minute(x)

Menghitung offset zona waktu dalam menit.

×

fungsi week

week(x)

Mengembalikan minggu dalam tahun untuk tanggal yang ditentukan.

Fungsi week setara dengan fungsi week_of_year.

×

fungsi week_of_year

week_of_year(x)

Mengembalikan minggu dalam tahun untuk tanggal yang ditentukan.

Fungsi week_of_year setara dengan fungsi week.

×

fungsi year

year(x)

Ekstrak tahun dari tanggal yang ditentukan.

fungsi year_of_week

year_of_week(x)

Mengembalikan tahun dari minggu ISO untuk tanggal yang ditentukan.

Fungsi year_of_week setara dengan fungsi yow.

fungsi yow

yow(x)

Mengembalikan tahun dari minggu ISO untuk tanggal yang ditentukan.

Fungsi yow setara dengan fungsi year_of_week.

Fungsi rentang waktu

fungsi date_trunc

date_trunc(unit, x)

Memotong ekspresi datetime ke satuan waktu tertentu, seperti millisecond, second, minute, hour, day, month, atau year.

×

fungsi date_add

date_add(unit, N, x)

Menambahkan N satuan waktu ke x.

fungsi date_diff

date_diff(unit, x, y)

Mengembalikan selisih antara dua ekspresi waktu, x dan y, dalam satuan waktu yang ditentukan.

Fungsi padding time series

fungsi time_series

time_series(x, window, format, padding_data)

Mengisi data yang hilang dalam rentang waktu kueri.

×

Fungsi tanggal dan waktu

Fungsi current_date

Fungsi current_date mengembalikan tanggal saat ini dalam format YYYY-MM-DD.

Sintaks

current_date

Tipe nilai kembalian

Tipe data.

Contoh

Kueri log dari hari sebelumnya.

  • Pernyataan kueri (Debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_date)
      AND __time__ > to_unixtime(date_add('day', -1, current_date))
  • Hasil kueri dan analisiscurrent_date

Fungsi current_time

Fungsi current_time mengembalikan waktu dan zona waktu saat ini dalam format HH:MM:SS.Ms Time_zone.

Sintaks

current_time

Tipe nilai kembalian

Tipe data time.

Contoh

Kueri waktu dan zona waktu saat ini.

  • Pernyataan kueri (Debug)

    * | select current_time
  • Hasil kueri dan analisiscurrent_time

Fungsi current_timestamp

Fungsi current_timestamp mengembalikan tanggal, waktu, dan zona waktu saat ini dalam format YYYY-MM-DD HH:MM:SS.Ms Time_zone.

Sintaks

current_timestamp

Tipe nilai kembalian

timestamp

Contoh

Kueri log dari hari sebelumnya.

  • Pernyataan kueri (Debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_timestamp)
      AND __time__ > to_unixtime(date_add('day', -1, current_timestamp))
  • Hasil kueri dan analisiscurrent_date

Fungsi current_timezone

Fungsi current_timezone() mengembalikan zona waktu saat ini.

Sintaks

current_timezone()

Tipe nilai kembalian

varchar

Contoh

Kueri zona waktu saat ini.

  • Pernyataan kueri (Debug)

    * | select current_timezone()
  • Hasil kueri dan analisiscurrent_timezone

fungsi tanggal

Fungsi date mengekstrak bagian tanggal dari ekspresi datetime. Fungsi ini setara dengan cast(x as date). Untuk informasi selengkapnya, lihat Fungsi konversi tipe.

Sintaks

date(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

Tipe data date.

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi date untuk mengekstrak bagian tanggalnya.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp, date(current_timestamp)
  • Hasil kueri dan analisisdate

Fungsi date_format

Fungsi date_format mengonversi ekspresi datetime timestamp ke format yang ditentukan.

Sintaks

date_format(x, format)

Parameter

Parameter

Deskripsi

x

Ekspresi datetime timestamp.

format

Format konversi ekspresi datetime. Untuk informasi selengkapnya, lihat Spesifikasi format.

Tipe nilai kembalian

Tipe data varchar.

Contoh

Hitung jumlah permintaan NGINX untuk setiap status permintaan dan tampilkan hasilnya secara kronologis. Pertama, gunakan fungsi date_trunc untuk menyelaraskan waktu log ke menit terdekat. Kemudian, gunakan fungsi date_format untuk mengonversi waktu ke format %H:%i. Terakhir, hitung jumlah permintaan untuk setiap kode status per menit dan tampilkan hasil kueri dan analisis dalam bentuk bagan alir.

  • Pernyataan kueri (Debug)

    * |
    SELECT
      date_format(date_trunc('minute', __time__), '%H:%i') AS time,
      COUNT(1) AS count,
      status
    GROUP BY
      time,
      status
    ORDER BY
      time
  • Hasil kueri dan analisisdate_format

Fungsi date_parse

Fungsi date_parse mengonversi string tanggal dan waktu ke ekspresi datetime timestamp dalam format yang ditentukan.

Sintaks

date_parse(x, format)

Parameter

Parameter

Deskripsi

x

String tanggal dan waktu.

format

Format konversi ekspresi datetime. Untuk informasi selengkapnya, lihat Spesifikasi format.

Tipe nilai kembalian

Tipe timestamp.

Contoh

Konversi nilai bidang StartTime dan EndTime ke tipe data timestamp dan hitung selisih waktu di antara keduanya.

  • Pernyataan kueri

    *|
    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 (hours)"
  • Hasil kueri dan analisis date_parse(

Fungsi from_iso8601_date

Fungsi from_iso8601_date mengonversi ekspresi tanggal ISO 8601 ke tipe data date dalam format YYYY-MM-DD.

Sintaks

from_iso8601_date(x)

Parameter

Parameter

Deskripsi

x

Ekspresi tanggal ISO 8601.

Tipe nilai kembalian

Tipe data date.

Contoh

Konversi nilai bidang time ke tipe data date.

  • Bidang contoh

    time:2020-05-03
  • Pernyataan kueri

    * | select from_iso8601_date(time)
  • Hasil kueri dan analisisfrom_iso8601_date

Fungsi from_iso8601_timestamp

Fungsi from_iso8601_timestamp mengonversi ekspresi datetime ISO 8601 ke tipe data timestamp dalam format YYYY-MM-DD HH:MM:SS.Ms Time_zone.

Sintaks

from_iso8601_timestamp(x)

Parameter

Parameter

Deskripsi

x

Ekspresi datetime ISO 8601.

Tipe nilai kembalian

Tipe data timestamp.

Contoh

Konversi nilai bidang time ke tipe data timestamp.

  • Bidang contoh

    time:2020-05-03T17:30:08
  • Pernyataan kueri

    * | select from_iso8601_timestamp(time)
  • Hasil kueri dan analisisfrom_iso8601_timestamp

Fungsi from_unixtime

Fungsi from_unixtime mengonversi stempel waktu UNIX ke timestamp. Formatnya adalah YYYY-MM-DD HH:MM:SS.Ms atau YYYY-MM-DD HH:MM:SS.Ms Time_zone.

Sintaks

  • Mengembalikan timestamp tanpa zona waktu dari ekspresi datetime.

    from_unixtime(x)
  • Mengonversi ekspresi datetime ke timestamp dengan zona waktu.

    from_unixtime(x,time zone)
  • Mengonversi nilai ke ekspresi datetime `timestamp with time zone`, di mana hours dan minutes menentukan offset zona waktu.

    from_unixtime(x, hours, minutes)

Parameter

Parameter

Deskripsi

x

Nilai parameter berupa stempel waktu UNIX.

time zone

Zona waktu. Contohnya, Asia/shanghai.

hours

Jam dari offset zona waktu. Contohnya, +07 atau -09.

minutes

Menit dari offset zona waktu. Contohnya, +30 atau -45.

Tipe nilai kembalian

timestamp

Contoh

Konversi nilai bidang time ke timestamp dengan zona waktu.

  • Bidang contoh

    time:1626774758
  • Pernyataan kueri

    * | select from_unixtime(time,'Asia/shanghai')
  • Hasil kueri dan analisisfrom_unixtime

Fungsi localtime

Fungsi localtime mengembalikan waktu lokal dalam format HH:MM:SS.Ms.

Sintaks

localtime

Tipe nilai kembalian

Tipe waktu.

Contoh

Kueri waktu lokal.

  • Pernyataan kueri (Debug)

    * | select localtime
  • Hasil kueri dan analisislocaltime

Fungsi localtimestamp

Fungsi localtimestamp mengembalikan tanggal dan waktu lokal dalam format YYYY-MM-DD HH:MM:SS.Ms.

Sintaks

localtimestamp

Tipe nilai kembalian

Tipe data timestamp.

Contoh

Kueri log dari hari sebelumnya.

  • Pernyataan kueri (Debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(localtimestamp)
      AND __time__ > to_unixtime(date_add('day', -1, localtimestamp))
  • Hasil kueri dan analisiscurrent_date

Fungsi now

Fungsi now() mengembalikan tanggal dan waktu saat ini dalam format YYYY-MM-DD HH:MM:SS.Ms Time_zone. Fungsi ini setara dengan fungsi current_timestamp.

Sintaks

now()

Tipe nilai kembalian

Tipe data timestamp.

Contoh

Kueri log dari hari sebelumnya.

  • Pernyataan kueri (Debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(now())
      AND __time__ > to_unixtime(date_add('day', -1, now()))
  • Hasil kueri dan analisiscurrent_date

Fungsi to_iso8601

Fungsi to_iso8601 mengonversi ekspresi datetime date atau timestamp ke format ISO 8601.

Sintaks

to_iso8601(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

varchar

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi to_iso8601 untuk mengonversi ekspresi datetime saat ini ke format ISO 8601.

  • Pernyataan kueri (Debug)

    * | select to_iso8601(current_timestamp) AS ISO8601
  • Hasil kueri dan analisisto_iso8601

Fungsi to_unixtime

Fungsi to_unixtime mengonversi ekspresi datetime timestamp ke stempel waktu UNIX.

Sintaks

to_unixtime(x)

Parameter

Parameter

Deskripsi

x

Ekspresi datetime timestamp.

Tipe nilai kembalian

double

Contoh

Kueri log dari hari sebelumnya.

  • Pernyataan kueri (Debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(now())
      AND __time__ > to_unixtime(date_add('day', -1, now()))
  • Hasil kueri dan analisiscurrent_date

Fungsi current_unixtimestamp

Fungsi ini mengembalikan stempel waktu Unix saat ini. Stempel waktu Unix adalah jumlah total detik yang telah berlalu sejak pukul 00:00:00 Coordinated Universal Time (UTC) pada 1 Januari 1970.

Sintaks

current_unixtimestamp()

Nilai kembalian

  • Tipe nilai kembalian: BIGINT (long)

  • Deskripsi: Mengembalikan bilangan bulat yang merepresentasikan jumlah detik saat ini.

  • Precisi: Nilainya akurat hingga detik secara default.

Contoh

  • Contoh 1: Ambil stempel waktu saat ini.

    Kasus penggunaan umum adalah mencatat waktu saat data dimasukkan.

    * | extend now_ts =current_unixtimestamp()
    -- Contoh output: 1734913028
  • Contoh 2: Konversi format

    Fungsi ini sering digunakan bersama from_unixtime untuk mengonversi stempel waktu numerik ke format tanggal yang dapat dibaca manusia.

    * | extend readable_time = 	date_format(from_unixtime(cast(current_unixtimestamp() as double)), '%Y-%m-%d %H:%i:%s')
    -- Contoh output: 2025-12-23 00:17:08

Fungsi ekstraksi tanggal dan waktu

Fungsi day

Fungsi day mengekstraksi hari dalam bulan dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_month.

Sintaksis

day(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp atau date.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_date untuk mengambil tanggal saat ini. Kemudian, gunakan fungsi day untuk mengekstraksi hari dalam bulan dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_date, day(current_date)
  • Hasil kueri dan analisisday

Fungsi day_of_month

Fungsi day_of_month mengekstraksi hari dalam bulan dari ekspresi datetime. Fungsi ini setara dengan fungsi day.

Sintaksis

day_of_month(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp atau date.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_date untuk mengambil tanggal saat ini. Kemudian, gunakan fungsi day_of_month untuk mengekstraksi hari dalam bulan dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_date, day_of_month(current_date)
  • Hasil kueri dan analisisday

Fungsi day_of_week

Fungsi day_of_week mengekstraksi hari dalam minggu dari ekspresi datetime.

Sintaksis

day_of_week(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp atau date.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_date untuk mengambil tanggal saat ini. Kemudian, gunakan fungsi day_of_week untuk mengekstraksi hari dalam minggu dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_date, day_of_week(current_date)
  • Hasil kueri dan analisisday_of_week

Fungsi day_of_year

Fungsi day_of_year mengekstraksi hari dalam tahun dari ekspresi datetime.

Sintaksis

day_of_year(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp atau date.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_date untuk mengambil tanggal saat ini. Kemudian, gunakan fungsi day_of_year untuk mengekstraksi hari dalam tahun dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_date, day_of_year(current_date)
  • Hasil kueri dan analisisday_of_year

Fungsi dow

Fungsi dow mengekstraksi hari dalam minggu dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_week.

Sintaksis

dow(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp atau date.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_date untuk mengambil tanggal saat ini. Kemudian, gunakan fungsi dow untuk mengekstraksi hari dalam minggu dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_date, dow(current_date)
  • Hasil kueri dan analisisday_of_week

Fungsi doy

Fungsi doy mengekstraksi hari dalam tahun dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_year.

Sintaksis

doy(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp atau date.

Tipe nilai kembalian

Tipe data bigint.

Contoh

Gunakan fungsi current_date untuk mengambil tanggal saat ini. Kemudian, gunakan fungsi doy untuk mengekstraksi hari dalam tahun dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_date, doy(current_date)
  • Hasil kueri dan analisisday_of_year

ekstrak fungsi

Fungsi extract mengekstrak bagian tanggal atau waktu dari ekspresi datetime berdasarkan bidang yang ditentukan.

Sintaksis

extract(field from x)

Parameter

Parameter

Deskripsi

field

Nilai yang valid: year, quarter, month, week, day, day_of_month, day_of_week, dow, day_of_year, doy, year_of_week, yow, hour, minute, second, timezone_hour, dan timezone_minute.

x

Nilainya bertipe date, time, timestamp, atau interval (varchar(9) aktual).

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_date untuk mengambil tanggal saat ini. Kemudian, gunakan fungsi extract untuk mengekstraksi tahun dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT extract(year from current_date)
  • Hasil kueri dan analisisextract

Fungsi hour

Fungsi hour mengekstraksi jam dalam hari (0–23) dari ekspresi datetime.

Sintaksis

hour(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi hour untuk mengekstraksi jam dari waktu tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp, hour(current_timestamp)
  • Hasil kueri dan analisishour

Fungsi minute

Fungsi minute mengekstraksi menit dalam jam dari ekspresi datetime.

Sintaksis

minute(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi minute untuk mengekstraksi menit dari waktu tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp, minute(current_timestamp)
  • Hasil kueri dan analisisminute

Fungsi month

Fungsi month mengekstraksi bulan dalam tahun dari ekspresi datetime.

Sintaksis

month(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

Tipe data BIGINT.

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi month untuk mengekstraksi bulan dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp, month(current_timestamp)
  • Hasil kueri dan analisismonth

Fungsi quarter

Fungsi quarter mengembalikan kuartal dalam tahun untuk tanggal tertentu.

Sintaksis

quarter(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi quarter untuk menghitung kuartal dalam tahun yang sesuai dengan tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp,quarter(current_timestamp)
  • Hasil kueri dan analisisquarter

fungsi kedua

Fungsi second mengekstraksi detik dalam menit dari ekspresi datetime.

Sintaksis

second(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi second untuk mengekstraksi detik dari waktu tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp,second(current_timestamp)
  • Hasil kueri dan analisissecond

Fungsi timezone_hour

Fungsi timezone_hour mengembalikan jam dari offset zona waktu.

Sintaksis

timezone_hour(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi timezone_hour untuk menghitung jam dari offset zona waktu untuk waktu tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp, timezone_hour(current_timestamp)
  • Hasil kueri dan analisistimezone_hour

Fungsi timezone_minute

Fungsi timezone_minute mengembalikan menit dari offset zona waktu.

Sintaksis

timezone_minute(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi timezone_minute untuk menghitung menit dari offset zona waktu untuk waktu tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp,timezone_minute(current_timestamp)
  • Hasil kueri dan analisistimezone_minute

Fungsi week

Fungsi week mengembalikan minggu dalam tahun untuk tanggal tertentu. Fungsi ini setara dengan fungsi week_of_year.

Sintaksis

week(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi week untuk menghitung minggu dalam tahun yang sesuai dengan tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp, week(current_timestamp)
  • Hasil kueri dan analisisweek

Fungsi week_of_year

Fungsi week_of_year mengembalikan minggu dalam tahun untuk tanggal tertentu. Fungsi ini setara dengan fungsi week.

Sintaksis

week_of_year(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi week_of_year untuk menghitung minggu dalam tahun yang sesuai dengan tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp, week_of_year(current_timestamp)
  • Hasil kueri dan analisisweek

Fungsi year

Fungsi year mengekstraksi tahun dari tanggal tertentu.

Sintaksis

year(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi year untuk mengekstraksi tahun dari tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp,year(current_timestamp)
  • Hasil kueri dan analisisyear

Fungsi year_of_week

Fungsi year_of_week mengembalikan tahun dari minggu ISO untuk tanggal tertentu. Fungsi ini setara dengan fungsi yow.

Sintaksis

year_of_week(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi year_of_week untuk mengembalikan tahun dari minggu ISO untuk tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp,year_of_week(current_timestamp)
  • Hasil kueri dan analisisyear_of_week

Fungsi yow

Fungsi yow mengembalikan tahun dari minggu ISO untuk tanggal tertentu. Fungsi ini setara dengan fungsi year_of_week.

Sintaksis

yow(x)

Parameter

Parameter

Deskripsi

x

Nilainya bertipe date atau timestamp.

Tipe nilai kembalian

bigint

Contoh

Gunakan fungsi current_timestamp untuk mengambil tanggal dan waktu saat ini. Kemudian, gunakan fungsi yow untuk mengembalikan tahun dari minggu ISO untuk tanggal tersebut.

  • Pernyataan kueri (Debug)

    * | SELECT current_timestamp, yow(current_timestamp)
  • Hasil kueri dan analisisyear_of_week

Fungsi interval waktu

Fungsi date_trunc

Fungsi date_trunc memotong ekspresi datetime ke satuan waktu tertentu, seperti millisecond, second, minute, hour, day, month, atau year. Fungsi ini sering digunakan dalam skenario yang memerlukan analisis statistik berbasis waktu.

Sintaksis

date_trunc(unit, x)

Parameter

Parameter

Deskripsi

unit

Satuan waktu. Nilai yang valid: millisecond, second, minute, hour, day, week, month, quarter, dan year. Untuk informasi selengkapnya, lihat Spesifikasi satuan.

x

Ekspresi datetime.

Catatan

Fungsi date_trunc hanya dapat menghitung statistik berdasarkan interval waktu tetap, seperti per menit atau per jam. Untuk menghitung statistik berdasarkan dimensi waktu fleksibel, Anda dapat menggunakan operasi modulo untuk mengelompokkan data. Misalnya, Anda dapat menghitung statistik setiap 5 menit.

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

Tipe nilai kembalian

Tipe data harus sesuai dengan tipe data nilai parameternya.

Contoh

Hitung rata-rata waktu permintaan dengan granularitas 1 menit, lalu kelompokkan dan urutkan hasil berdasarkan waktu.

  • Pernyataan kueri (Debug)

    * |
    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
  • Hasil kueri dan analisisdate_trunc

Fungsi date_add

Fungsi date_add menambahkan atau mengurangi interval waktu tertentu dari nilai tanggal atau waktu.

Sintaksis

date_add(unit, n, x)

Parameter

Parameter

Deskripsi

unit

Satuan waktu. Nilai yang valid: millisecond, second, minute, hour, day, week, month, quarter, dan year. Untuk informasi selengkapnya, lihat Spesifikasi satuan.

n

Interval waktu.

x

Ekspresi datetime timestamp.

Tipe nilai kembalian

timestamp

Contoh

Kueri log dari hari sebelumnya.

  • Pernyataan kueri (Debug)

    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_timestamp)
      AND __time__ > to_unixtime(date_add('day', -1, current_timestamp))
  • Hasil kueri dan analisiscurrent_date

Fungsi date_diff

Fungsi date_diff menghitung selisih antara dua tanggal atau waktu.

Sintaksis

date_diff(unit, x, y)

Parameter

Parameter

Deskripsi

unit

Satuan waktu. Nilai yang valid: millisecond, second, minute, hour, day, week, month, quarter, dan year. Untuk informasi selengkapnya, lihat Spesifikasi satuan.

x

Ekspresi datetime timestamp.

y

Ekspresi datetime timestamp.

Tipe nilai kembalian

bigint

Contoh

Hitung total waktu proses server berdasarkan bidang UsageStartTime dan UsageEndTime.

  • Pernyataan kueri

    * | SELECT  date_diff('hour', UsageStartTime, UsageEndTime) AS "Time difference (hours)"
  • Hasil kueri dan analisisdate_diff

Fungsi padding time series

Fungsi time_series

Fungsi time_series melakukan padding terhadap titik data yang hilang dalam rentang waktu kueri Anda.

Penting

Fungsi time_series harus digunakan bersama klausa GROUP BY dan ORDER BY. Klausa ORDER BY tidak mendukung Pengurutan DESC. Jika fungsi time_series digunakan dalam subkueri, kueri luar tidak boleh mengandung klausa GROUP BY atau ORDER BY.

Sintaksis

time_series(x, window_time, format, padding_data)

Parameter

Parameter

Deskripsi

x

Kolom waktu, misalnya __time__. Nilai kolom waktu bertipe long atau timestamp.

window_time

Ukuran jendela waktu. Satuan: s (second), m (minute), h (hour), atau d (day). Contoh: 2h, 5m, dan 3d.

format

Format waktu dari hasil yang dikembalikan. Untuk informasi selengkapnya, lihat Spesifikasi format.

padding_data

Isinya mencakup hal berikut:

  • 0: Menetapkan nilai yang hilang menjadi 0.

  • null: Menetapkan nilai yang hilang menjadi null.

  • last: Menetapkan nilai yang hilang menjadi nilai dari titik waktu sebelumnya.

  • next: Menetapkan nilai yang hilang menjadi nilai dari titik waktu berikutnya.

  • avg: Menetapkan nilai yang hilang menjadi rata-rata dari nilai titik waktu sebelumnya dan berikutnya.

Tipe nilai kembalian

varchar

Contoh

Lakukan padding data dengan granularitas 2 jam dan tetapkan nilai yang hilang menjadi 0.

  • Pernyataan kueri (Debug)

    * | 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
  • Hasil kueri dan analisis时间补全函数示例图

Spesifikasi format

Format

Deskripsi

%a

Nama singkat hari dalam seminggu. Contohnya, Sun atau Sat.

%b

Nama singkat bulan. Contohnya, Jan atau Dec.

%c

Bulan dalam bentuk nilai numerik. Nilai yang valid: 1 hingga 12.

%D

Hari dalam bulan dengan akhiran. Contohnya, 0th, 1st, 2nd, atau 3rd.

%d

Hari dalam bulan dalam format desimal. Nilai yang valid: 01 hingga 31.

%e

Hari dalam bulan dalam format desimal. Nilai yang valid: 1 hingga 31.

%H

Jam dalam format 24 jam.

%h

Jam dalam format 12 jam.

%i

Menit dalam bentuk nilai numerik. Nilai yang valid: 00 hingga 59.

%j

Hari dalam tahun. Nilai yang valid: 001 hingga 366.

%k

Jam. Nilai yang valid: 0 hingga 23.

%l

Jam. Nilai yang valid: 1 hingga 12.

%M

Nama lengkap bulan. Contohnya, January atau December.

%m

Bulan dalam bentuk nilai numerik. Nilai yang valid: 01 hingga 12.

%p

AM atau PM.

%r

Waktu dalam format 12 jam. Formatnya adalah hh:mm:ss AM/PM.

%S

Detik. Nilai yang valid: 00 hingga 59.

%s

Detik. Nilai yang valid: 00 hingga 59.

%f

Mikrodetik. Nilai yang valid: 000000 hingga 999999.

%T

Waktu dalam format 24 jam. Formatnya adalah hh:mm:ss.

%v

Minggu dalam tahun, dengan Senin sebagai hari pertama dalam minggu. Nilai yang valid: 01 hingga 53.

%W

Nama lengkap hari dalam seminggu. Contohnya, Sunday atau Saturday.

%Y

Tahun empat digit. Contohnya, 2020.

%y

Tahun dua digit. Contohnya, 20.

%%

Karakter escape untuk tanda persen (%).

Spesifikasi unit

Unit

Deskripsi

millisecond

Millisecond

second

Second

minute

Minute

hour

Hour

day

Day

week

Week

month

Month

quarter

Quarter

year

Year