全部产品
Search
文档中心

Simple Log Service:Fungsi tanggal dan waktu

更新时间:Jun 26, 2025

Simple Log Service memungkinkan penggunaan berbagai fungsi tanggal dan waktu untuk memproses data log. Fungsi-fungsi ini mencakup fungsi waktu, fungsi tanggal, fungsi ekstraksi tanggal dan waktu, fungsi interval waktu, serta fungsi padding deret waktu. Anda dapat menggunakan fungsi-fungsi ini untuk mengonversi format tanggal dan waktu dalam log, mengelompokkan log, atau menggabungkan log. Topik ini menjelaskan sintaksis fungsi tanggal dan waktu serta memberikan contoh penggunaannya.

Ikhtisar fungsi tanggal dan waktu

Tabel berikut menjelaskan fungsi tanggal dan waktu yang didukung oleh Simple Log Service.

Penting
  • Timestamp log di Simple Log Service akurat hingga detik. Oleh karena itu, Anda hanya dapat menentukan format waktu hingga detik. Untuk informasi lebih lanjut, lihat Format.

  • Anda hanya perlu menentukan format waktu untuk string waktu. Parameter lain seperti zona waktu tidak memerlukan format waktu. Untuk informasi lebih lanjut, lihat Format.

  • Setiap log di Simple Log Service memiliki bidang cadangan __time__. Nilai dari bidang ini adalah timestamp UNIX. Contoh: 1592374067, yang menunjukkan 2020-06-17 14:07:47.

  • Jika Anda ingin menggunakan string dalam pernyataan analitik, apit string dengan tanda kutip tunggal (''). String tanpa tanda kutip atau diapit dengan tanda kutip ganda ("") menunjukkan nama bidang atau kolom. Sebagai contoh, 'status' menunjukkan string status, sedangkan status atau "status" menunjukkan bidang log status.

Kategori

Fungsi

Sintaksis

Deskripsi

Didukung di SQL

Didukung di SPL

Fungsi tanggal dan waktu

fungsi current_date

current_date

Mengembalikan tanggal saat ini.

×

fungsi current_time

current_time

Mengembalikan waktu saat ini dan zona waktu.

×

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 yang dapat mengembalikan nilai timestamp ke ekspresi datetime dalam format tertentu.

fungsi date_parse

date_parse(x, format)

Mengonversi string datetime menjadi ekspresi datetime yang dapat mengembalikan nilai timestamp dan berada dalam format tertentu.

fungsi from_iso8601_date

from_iso8601_date(x)

Mengonversi ekspresi tanggal dalam format ISO 8601 menjadi ekspresi tanggal yang dapat mengembalikan nilai tanggal.

×

fungsi from_iso8601_timestamp

from_iso8601_timestamp(x)

Mengonversi ekspresi datetime dalam format ISO 8601 menjadi ekspresi datetime yang dapat mengembalikan nilai timestamp.

×

fungsi from_unixtime

from_unixtime(x)

Mengonversi timestamp UNIX menjadi ekspresi datetime yang dapat mengembalikan nilai timestamp dan tidak mengandung zona waktu.

from_unixtime(x, zona waktu)

Mengonversi timestamp UNIX menjadi ekspresi datetime yang dapat mengembalikan nilai timestamp dan mengandung zona waktu.

×

from_unixtime(x, jam, menit)

Mengonversi timestamp UNIX menjadi ekspresi datetime yang dapat mengembalikan nilai timestamp dan mengandung zona waktu. Dalam ekspresi datetime, nilai untuk jam dan menit menunjukkan 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 ini setara dengan fungsi current_timestamp.

×

fungsi to_iso8601

to_iso8601(x)

Mengonversi ekspresi datetime yang dapat mengembalikan nilai tanggal atau timestamp menjadi ekspresi datetime dalam format ISO 8601.

×

fungsi to_unixtime

to_unixtime(x)

Mengonversi ekspresi datetime yang dapat mengembalikan nilai timestamp menjadi timestamp UNIX.

Fungsi ekstraksi tanggal dan waktu

fungsi day

day(x)

Mengembalikan hari dalam sebulan dari ekspresi datetime.

Fungsi ini setara dengan fungsi day_of_month.

×

fungsi day_of_month

day_of_month(x)

Mengembalikan hari dalam sebulan dari ekspresi datetime.

Fungsi ini setara dengan fungsi day.

×

fungsi day_of_week

day_of_week(x)

Mengembalikan hari dalam seminggu dari ekspresi datetime.

Fungsi ini setara dengan fungsi dow.

fungsi day_of_year

day_of_year(x)

Mengembalikan hari dalam setahun dari ekspresi datetime.

Fungsi ini setara dengan fungsi doy.

fungsi dow

dow(x)

Mengembalikan hari dalam seminggu dari ekspresi datetime.

Fungsi ini setara dengan fungsi day_of_week.

fungsi doy

doy(x)

Mengembalikan hari dalam setahun dari ekspresi datetime.

Fungsi ini setara dengan fungsi day_of_year.

fungsi extract

extract(field from x)

Mengembalikan field yang ditentukan dari ekspresi datetime. Field dapat berupa tanggal atau waktu.

×

fungsi hour

hour(x)

Mengembalikan jam dalam sehari dari ekspresi datetime. Jam 24-jam digunakan.

fungsi minute

minute(x)

Mengembalikan menit dalam satu jam dari ekspresi datetime.

fungsi month

month(x)

Mengembalikan bulan dalam setahun dari ekspresi datetime.

fungsi quarter

quarter(x)

Mengembalikan kuartal dalam setahun pada tanggal yang ditentukan.

fungsi second

second(x)

Mengembalikan detik dalam satu menit dari ekspresi datetime.

fungsi timezone_hour

timezone_hour(x)

Mengembalikan offset zona waktu dalam jam.

×

fungsi timezone_minute

timezone_minute(x)

Mengembalikan offset zona waktu dalam menit.

×

fungsi week

week(x)

Mengembalikan minggu dalam setahun pada tanggal yang ditentukan.

Fungsi ini setara dengan fungsi week_of_year.

×

fungsi week_of_year

week_of_year(x)

Mengembalikan minggu dalam setahun pada tanggal yang ditentukan.

Fungsi ini setara dengan fungsi week.

×

fungsi year

year(x)

Mengembalikan tahun dari tanggal yang ditentukan.

fungsi year_of_week

year_of_week(x)

Mengembalikan tahun pada sistem tanggal minggu ISO di mana tanggal tertentu jatuh.

Fungsi ini setara dengan fungsi yow.

fungsi yow

yow(x)

Mengembalikan tahun pada sistem tanggal minggu ISO di mana tanggal tertentu jatuh.

Fungsi ini setara dengan fungsi year_of_week.

Fungsi interval waktu

fungsi date_trunc

date_trunc(unit, x)

Memotong ekspresi datetime berdasarkan unit waktu yang Anda tentukan. Ekspresi dapat dipotong berdasarkan milidetik, detik, menit, jam, hari, bulan, atau tahun.

×

fungsi date_add

date_add(unit, N, x)

Menambahkan N ke nilai x berdasarkan unit yang Anda tentukan.

fungsi date_diff

date_diff(unit, x, y)

Mengembalikan perbedaan antara dua ekspresi waktu. Sebagai contoh, Anda dapat menghitung perbedaan antara x dan y berdasarkan unit waktu yang Anda tentukan.

Fungsi padding deret waktu

fungsi time_series

time_series(x, window, format, padding_data)

Menambahkan nilai ke bidang yang tidak memiliki nilai yang dikembalikan dalam jendela waktu yang ditentukan.

×

fungsi current_date

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

Sintaksis

current_date

Tipe nilai pengembalian

Tipe tanggal.

Contoh

Kueri log 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 lokal dan zona waktu dalam format HH:MM:SS.Ms Time_zone.

Sintaksis

current_time

Tipe nilai pengembalian

Tipe waktu.

Contoh

Kueri waktu lokal dan zona waktu.

  • 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.

Sintaksis

current_timestamp

Tipe nilai pengembalian

Tipe timestamp.

Contoh

Kueri log 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.

Sintaksis

current_timezone()

Tipe nilai pengembalian

Tipe varchar.

Contoh

Kueri zona waktu saat ini.

  • Pernyataan Kueri (Debug)

    * | select current_timezone()
  • Hasil Kueri dan Analisiscurrent_timezone

fungsi date

Fungsi date mengembalikan bagian tanggal dari ekspresi datetime. Fungsi ini setara dengan cast(x as date). Untuk informasi lebih lanjut, lihat Fungsi Konversi Tipe Data.

Sintaksis

date(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe tanggal atau timestamp.

Tipe nilai pengembalian

Tipe tanggal.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi date untuk mendapatkan bagian tanggal dari waktu tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, date(current_timestamp)
  • Hasil Kueri dan Analisisdate

fungsi date_format

Fungsi date_format mengonversi ekspresi datetime menjadi format tertentu.

Sintaksis

date_format(x, format)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah ekspresi datetime yang dapat mengembalikan nilai timestamp.

format

Format ekspresi datetime yang ingin Anda konversi dari ekspresi datetime yang dapat mengembalikan nilai timestamp. Untuk informasi lebih lanjut, lihat Format.

Tipe nilai pengembalian

Tipe varchar.

Contoh

Kueri status permintaan NGINX, hitung jumlah permintaan, lalu tampilkan hasil dalam urutan kronologis. Gunakan fungsi date_trunc untuk memotong waktu log per menit dan fungsi date_format untuk mengonversi waktu ke format %H:%i. Hitung jumlah permintaan untuk setiap kode status per menit dan tampilkan hasil dalam Bagan alir.

  • Debug Pernyataan kueri ()

    * |
    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 datetime menjadi ekspresi datetime dalam format tertentu.

Sintaksis

date_parse(x, format)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah string datetime.

format

Format ekspresi datetime yang dapat mengembalikan nilai timestamp ke mana Anda ingin mengonversi string datetime. Untuk informasi lebih lanjut, lihat Format.

Tipe nilai pengembalian

Tipe timestamp.

Contoh

Konversikan nilai dari bidang StartTime dan EndTime menjadi ekspresi datetime dan hitung perbedaan antara dua ekspresi tersebut.

  • 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 "Perbedaan waktu (jam)"
  • Hasil Kueri dan Analisis date_parse(

fungsi from_iso8601_date

Fungsi from_iso8601_date mengonversi ekspresi tanggal dalam format ISO 8601 menjadi format YYYY-MM-DD.

Sintaksis

from_iso8601_date(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah ekspresi tanggal dalam format ISO 8601.

Tipe nilai pengembalian

Tipe tanggal.

Contoh

Konversikan nilai dari bidang time menjadi ekspresi tanggal.

  • 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 dalam format ISO 8601 menjadi format YYYY-MM-DD HH:MM:SS.Ms Time_zone.

Sintaksis

from_iso8601_timestamp(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah ekspresi datetime dalam format ISO 8601.

Tipe nilai pengembalian

Tipe timestamp.

Contoh

Konversikan nilai dari bidang time menjadi ekspresi datetime.

  • 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 timestamp UNIX menjadi ekspresi datetime dalam format YYYY-MM-DD HH:MM:SS.Ms atau YYYY-MM-DD HH:MM:SS.Ms Time_zone.

Sintaksis

  • Jika menggunakan sintaksis berikut, fungsi mengonversi timestamp UNIX tanpa zona waktu.

    from_unixtime(x)
  • Jika menggunakan sintaksis berikut, fungsi mengonversi timestamp UNIX dengan zona waktu.

    from_unixtime(x,zona waktu)
  • Jika menggunakan sintaksis berikut, fungsi mengonversi timestamp UNIX dengan zona waktu. Nilai jam dan menit menunjukkan offset zona waktu.

    from_unixtime(x, jam, menit)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah timestamp UNIX.

zona waktu

Zona waktu. Contoh: Asia/shanghai.

jam

Offset zona waktu dalam jam. Contoh: +07 dan -09.

menit

Offset zona waktu dalam menit. Contoh: +30 dan -45.

Tipe nilai pengembalian

Tipe timestamp.

Contoh

Konversikan nilai dari bidang time menjadi ekspresi datetime 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.

Sintaksis

localtime

Tipe nilai pengembalian

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 Time_zone.

Sintaksis

localtimestamp

Tipe nilai pengembalian

Tipe timestamp.

Contoh

Kueri log 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.

Sintaksis

now()

Tipe nilai pengembalian

Tipe timestamp.

Contoh

Kueri log 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 menjadi format ISO 8601.

Sintaksis

to_iso8601(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe tanggal atau timestamp.

Tipe nilai pengembalian

Tipe varchar.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi to_iso8601 untuk mengonversinya 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 menjadi timestamp UNIX.

Sintaksis

to_unixtime(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah ekspresi datetime yang dapat mengembalikan nilai timestamp.

Tipe nilai pengembalian

Tipe double.

Contoh

Kueri log 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 day

Fungsi day mengembalikan hari dalam sebulan dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_month.

Sintaksis

day(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp atau tanggal.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_date untuk mendapatkan tanggal saat ini. Kemudian, gunakan fungsi day untuk mendapatkan hari dalam sebulan berdasarkan tanggal tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_date, day(current_date)
  • Hasil Kueri dan Analisisday

fungsi day_of_month

Fungsi day_of_month mengembalikan hari dalam sebulan dari ekspresi datetime. Fungsi ini setara dengan fungsi day.

Sintaksis

day_of_month(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp atau tanggal.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_date untuk mendapatkan tanggal saat ini. Kemudian, gunakan fungsi day_of_month untuk mendapatkan hari dalam sebulan berdasarkan 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 mengembalikan hari dalam seminggu dari ekspresi datetime.

Sintaksis

day_of_week(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp atau tanggal.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_date untuk mendapatkan tanggal saat ini. Kemudian, gunakan fungsi day_of_week untuk mendapatkan hari dalam seminggu berdasarkan 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 mengembalikan hari dalam setahun dari ekspresi datetime.

Sintaksis

day_of_year(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp atau tanggal.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_date untuk mendapatkan tanggal saat ini. Kemudian, gunakan fungsi day_of_year untuk mendapatkan hari dalam setahun berdasarkan tanggal tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_date, day_of_year(current_date)
  • Hasil Kueri dan Analisisday_of_year

fungsi dow

Fungsi dow mengembalikan hari dalam seminggu dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_week.

Sintaksis

dow(x)

Parameter

Parameter

Deskripsi

x

Nilai dari parameter ini bertipe timestamp atau tanggal.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_date untuk mendapatkan tanggal saat ini. Kemudian, gunakan fungsi dow untuk mendapatkan hari dalam seminggu berdasarkan tanggal tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_date, dow(current_date)
  • Hasil Kueri dan Analisisday_of_week

fungsi doy

Fungsi doy mengembalikan hari dalam setahun dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_year.

Sintaksis

doy(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp atau tanggal.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_date untuk mendapatkan tanggal saat ini. Kemudian, gunakan fungsi doy untuk mendapatkan hari dalam setahun berdasarkan tanggal tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_date, doy(current_date)
  • Hasil Kueri dan Analisisday_of_year

fungsi extract

Fungsi extract mengembalikan field yang ditentukan dari ekspresi datetime. Field dapat berupa tanggal atau waktu.

Sintaksis

extract(field from x)

Parameter

Parameter

Deskripsi

field

Nilai 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

Nilai parameter ini adalah tipe date, time, timestamp, atau interval (actual varchar(9)).

Tipe nilai pengembalian

Tipe bigint.

Contoh

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

  • Pernyataan Kueri (Debug)

    * | SELECT extract(year from current_date)
  • Hasil Kueri dan Analisisextract

fungsi hour

Fungsi hour mengembalikan jam dalam sehari dari ekspresi datetime menggunakan format 24-jam.

Sintaksis

hour(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi hour untuk mendapatkan jam dalam sehari berdasarkan waktu tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, hour(current_timestamp)
  • Hasil Kueri dan Analisishour

fungsi minute

Fungsi minute mengembalikan menit dalam satu jam dari ekspresi datetime.

Sintaksis

minute(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi minute untuk mendapatkan menit dalam satu jam berdasarkan waktu tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, minute(current_timestamp)
  • Hasil Kueri dan Analisisminute

fungsi month

Fungsi month mengembalikan bulan dalam setahun dari ekspresi datetime.

Sintaksis

month(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe tanggal atau timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi month untuk mendapatkan bulan dalam setahun berdasarkan tanggal tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, month(current_timestamp)
  • Hasil Kueri dan Analisismonth

fungsi quarter

Fungsi quarter mengembalikan kuartal dalam setahun pada tanggal tertentu.

Sintaksis

quarter(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe tanggal atau timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi quarter untuk mendapatkan kuartal dalam setahun berdasarkan tanggal tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp,quarter(current_timestamp)
  • Hasil Kueri dan Analisisquarter

fungsi second

Fungsi second mengembalikan detik dalam satu menit dari ekspresi datetime.

Sintaksis

second(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi second untuk mendapatkan detik dalam satu menit berdasarkan waktu tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, second(current_timestamp)
  • Hasil Kueri dan Analisissecond

fungsi timezone_hour

Fungsi timezone_hour mengembalikan offset zona waktu dalam jam.

Sintaksis

timezone_hour(x)

Parameter

Parameter

Deskripsi

x

Nilai dari parameter ini merupakan tipe timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi timezone_hour untuk mendapatkan offset zona waktu dalam jam.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, timezone_hour(current_timestamp)
  • Hasil Kueri dan Analisistimezone_hour

fungsi timezone_minute

Fungsi timezone_minute mengembalikan offset zona waktu dalam menit.

Sintaksis

timezone_minute(x)

Parameter

Parameter

Deskripsi

x

Nilai dari parameter ini merupakan tipe timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi timezone_minute untuk mendapatkan offset zona waktu dalam menit.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, timezone_minute(current_timestamp)
  • Hasil Kueri dan Analisistimezone_minute

fungsi week

Fungsi week mengembalikan minggu dalam setahun pada tanggal tertentu. Fungsi ini setara dengan fungsi week_of_year.

Sintaksis

week(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe timestamp atau tanggal.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi week untuk mendapatkan minggu dalam setahun berdasarkan 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 setahun pada tanggal tertentu. Fungsi ini setara dengan fungsi week.

Sintaksis

week_of_year(x)

Parameter

Parameter

Deskripsi

x

Nilai dari parameter ini bertipe data tanggal atau cap waktu.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi week_of_year untuk mendapatkan minggu dalam setahun berdasarkan tanggal tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, week_of_year(current_timestamp)
  • Hasil Kueri dan Analisisweek

fungsi year

Fungsi year mengembalikan tahun dari tanggal tertentu.

Sintaksis

year(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe tanggal atau timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi year untuk mendapatkan tahun berdasarkan 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 dalam sistem tanggal minggu ISO di mana tanggal tertentu jatuh. Fungsi ini setara dengan fungsi yow.

Sintaksis

year_of_week(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe tanggal atau timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi year_of_week untuk mendapatkan tahun dalam sistem tanggal minggu ISO berdasarkan 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 dalam sistem tanggal minggu ISO di mana tanggal tertentu jatuh. Fungsi ini setara dengan fungsi year_of_week.

Sintaksis

yow(x)

Parameter

Parameter

Deskripsi

x

Nilai parameter ini adalah tipe tanggal atau timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Gunakan fungsi current_timestamp untuk mendapatkan tanggal dan waktu saat ini. Kemudian, gunakan fungsi yow untuk mendapatkan tahun dalam sistem tanggal minggu ISO berdasarkan tanggal tersebut.

  • Pernyataan Kueri (Debug)

    * | SELECT current_timestamp, yow(current_timestamp)
  • Hasil Kueri dan Analisisyear_of_week

fungsi date_trunc

Fungsi date_trunc memotong ekspresi datetime berdasarkan unit waktu yang ditentukan. Ekspresi dapat dipotong berdasarkan milidetik, detik, menit, jam, hari, bulan, atau tahun. Fungsi ini sering digunakan dalam skenario analisis statistik berbasis waktu.

Sintaksis

date_trunc(unit, x)

Parameter

Parameter

Deskripsi

unit

Unit waktu. Nilai valid: millisecond, second, minute, hour, day, week, month, quarter, dan year. Untuk informasi lebih lanjut, lihat Unit.

x

Nilai parameter ini adalah ekspresi datetime.

Catatan

Fungsi date_trunc hanya memungkinkan pengukuran statistik berdasarkan interval tetap. Interval ditentukan oleh unit waktu yang Anda tentukan dalam fungsi, seperti menit atau jam. Jika Anda ingin mengukur statistik berdasarkan interval kustom, lakukan operasi modulo matematika untuk mengelompokkan data. Sebagai contoh, operasi modulo matematika dapat dilakukan untuk mengelompokkan data pada interval 5 menit.

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

Tipe nilai pengembalian

Sama dengan tipe data nilai parameter.

Contoh

Hitung durasi permintaan rata-rata per menit. Kemudian, kelompokkan dan urutkan durasi dalam urutan kronologis.

  • 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 tertentu dari tanggal atau waktu.

Sintaksis

date_add(unit, n, x)

Parameter

Parameter

Deskripsi

unit

Unit waktu. Nilai valid: millisecond, second, minute, hour, day, week, month, quarter, dan year. Untuk informasi lebih lanjut, lihat Unit.

n

Interval waktu.

x

Nilai parameter ini adalah ekspresi datetime yang dapat mengembalikan nilai timestamp.

Tipe nilai pengembalian

Tipe timestamp.

Contoh

Kueri log 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 mengembalikan perbedaan antara dua tanggal atau titik waktu.

Sintaksis

date_diff(unit, x, y)

Parameter

Parameter

Deskripsi

unit

Unit waktu. Nilai valid: millisecond, second, minute, hour, day, week, month, quarter, dan year. Untuk informasi lebih lanjut, lihat Unit.

x

Nilai parameter ini adalah ekspresi datetime yang dapat mengembalikan nilai timestamp.

y

Nilai parameter ini adalah ekspresi datetime yang dapat mengembalikan nilai timestamp.

Tipe nilai pengembalian

Tipe bigint.

Contoh

Hitung durasi runtime server berdasarkan bidang UsageStartTime dan UsageEndTime.

  • Pernyataan Kueri

    * | SELECT  date_diff('hour', UsageStartTime, UsageEndTime) AS "Perbedaan waktu (jam)"
  • Hasil Kueri dan Analisisdate_diff

fungsi time_series

Fungsi time_series menambahkan nilai ke bidang yang tidak memiliki nilai yang dikembalikan dalam jendela waktu tertentu.

Penting

Anda harus menggunakan fungsi time_series bersama dengan klausa GROUP BY dan ORDER BY. Anda tidak dapat menggunakan kata kunci DESC dalam klausa ORDER BY untuk mengurutkan data. Jika Anda menggunakan kueri SQL yang berisi subquery dengan fungsi time_series, Anda tidak dapat menambahkan klausa GROUP BY atau ORDER BY ke kueri SQL tersebut.

Sintaksis

time_series(x, window_time, format, padding_data)

Parameter

Parameter

Deskripsi

x

Kolom waktu. Contoh: __time__. Nilai parameter ini adalah tipe long atau timestamp.

window_time

Durasi jendela waktu. Unit: s, m, h, dan d. s menunjukkan detik, m menunjukkan menit, h menunjukkan jam, dan d menunjukkan hari. Contoh: 2h, 5m, dan 3d.

format

Format waktu di mana Anda ingin fungsi mengembalikan nilai. Untuk informasi lebih lanjut, lihat Format.

padding_data

Nilai yang ingin Anda tambahkan. Nilai valid:

  • 0: Nilai 0 ditambahkan.

  • null: Nilai null ditambahkan.

  • last: Nilai dari titik waktu sebelumnya ditambahkan.

  • next: Nilai dari titik waktu berikutnya ditambahkan.

  • avg: Nilai rata-rata dari titik waktu sebelumnya dan titik waktu berikutnya ditambahkan.

Tipe nilai pengembalian

Tipe varchar.

Contoh

Tambahkan nilai 0 ke bidang yang tidak memiliki nilai yang dikembalikan selama dua jam.

  • 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时间补全函数示例图

Format

Format

Deskripsi

%a

Singkatan untuk hari dalam seminggu. Contoh: Sun dan Sat.

%b

Singkatan untuk bulan dalam setahun. Contoh: Jan dan Dec.

%c

Bulan. Nilai ini adalah tipe numerik. Nilai valid: 1 hingga 12.

%D

Hari dalam sebulan. Contoh: 0th, 1st, 2nd, dan 3rd.

%d

Hari dalam sebulan. Nilai dalam format desimal. Nilai valid: 01 hingga 31.

%e

Hari dalam sebulan. Nilai dalam format desimal. Nilai valid: 1 hingga 31.

%H

Jam. Jam 24-jam digunakan.

%h

Jam. Jam 12-jam digunakan.

%i

Menit. Nilai ini adalah tipe numerik. Nilai valid: 00 hingga 59.

%j

Hari dalam setahun. Nilai valid: 001 hingga 366.

%k

Jam. Nilai valid: 0 hingga 23.

%l

Jam. Nilai valid: 1 hingga 12.

%M

Nama lengkap bulan. Contoh: January dan December.

%m

Bulan. Nilai ini adalah tipe numerik. Nilai valid: 01 hingga 12.

%p

Singkatan yang menunjukkan pagi atau sore hari. Nilai valid: AM dan PM.

%r

Waktu. Jam 12-jam digunakan. Waktu dalam format hh:mm:ss AM/PM.

%S

Detik. Nilai valid: 00 hingga 59.

%s

Detik. Nilai valid: 00 hingga 59.

%f

Mikrodetik. Nilai valid: 000000 hingga 999999.

%T

Waktu. Jam 24-jam digunakan. Waktu dalam format hh:mm:ss.

%v

Minggu dalam setahun. Senin adalah hari pertama dalam seminggu. Nilai valid: 01 hingga 53.

%W

Nama lengkap hari dalam seminggu. Contoh: Sunday dan Saturday.

%Y

Tahun empat digit. Contoh: 2020.

%y

Tahun dua digit. Contoh: 20.

%%

Karakter escape untuk tanda persen (%).

Unit

Unit

Deskripsi

millisecond

Milidetik

second

Detik

minute

Menit

hour

Jam

day

Hari

week

Minggu

month

Bulan

quarter

Kuartal

year

Tahun