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.
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, sedangkanstatusatau"status"merepresentasikan field log status.
Jenis fungsi | Nama fungsi | Sintaks | Deskripsi | Dukungan SQL | Dukungan SPL |
Fungsi tanggal dan waktu | current_date | Mengembalikan tanggal saat ini. | √ | × | |
current_time | Mengembalikan waktu saat ini beserta zona waktunya. | √ | × | ||
current_timestamp | Mengembalikan tanggal, waktu, dan zona waktu saat ini. | √ | × | ||
current_timezone() | Mengembalikan zona waktu saat ini. | √ | × | ||
date(x) | Mengembalikan bagian tanggal dari ekspresi datetime. | √ | × | ||
date_format(x, format) | Mengonversi ekspresi datetime timestamp ke format yang ditentukan. | √ | √ | ||
date_parse(x, format) | Mengonversi string tanggal dan waktu menjadi ekspresi datetime timestamp dalam format yang ditentukan. | √ | √ | ||
from_iso8601_date(x) | Mengonversi ekspresi tanggal ISO 8601 menjadi ekspresi tipe date. | √ | × | ||
from_iso8601_timestamp(x) | Mengonversi ekspresi datetime ISO 8601 ke ekspresi tipe timestamp. | √ | × | ||
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. | √ | × | ||
localtime | Mengembalikan waktu lokal. | √ | × | ||
localtimestamp | Mengembalikan tanggal dan waktu lokal. | √ | × | ||
now() | Mengembalikan tanggal dan waktu saat ini. Fungsi now setara dengan fungsi current_timestamp. | √ | × | ||
to_iso8601(x) | Mengonversi ekspresi datetime berupa tanggal atau timestamp ke format ISO 8601. | √ | × | ||
to_unixtime(x) | Mengonversi ekspresi datetime stempel waktu menjadi stempel waktu UNIX. | √ | √ | ||
current_unixtimestamp() | Mengembalikan Unix timestamp sistem saat ini. | × | √ | ||
Fungsi ekstraksi tanggal dan waktu | day(x) | Mengekstraksi hari dalam bulan dari ekspresi datetime. Fungsi day setara dengan fungsi day_of_month. | √ | × | |
day_of_month(x) | Mengekstrak hari dalam bulan dari ekspresi datetime. Fungsi day_of_month setara dengan fungsi day. | √ | × | ||
day_of_week(x) | Mengembalikan hari dalam minggu dari ekspresi datetime. Fungsi day_of_week setara dengan fungsi dow. | √ | √ | ||
day_of_year(x) | Mengekstrak hari dalam tahun dari ekspresi datetime. Fungsi day_of_year setara dengan fungsi doy. | √ | √ | ||
dow(x) | Mengembalikan hari dalam minggu dari ekspresi datetime. Fungsi dow setara dengan fungsi day_of_week. | √ | √ | ||
doy(x) | Mengekstraksi hari dalam tahun dari ekspresi datetime. Fungsi doy setara dengan fungsi day_of_year. | √ | √ | ||
extract(field from x) | Menggunakan field yang ditentukan untuk mengambil bagian tanggal atau waktu dari ekspresi datetime. | √ | × | ||
hour(x) | Mengekstraksi jam dalam hari (0–23) dari ekspresi datetime. | √ | √ | ||
minute(x) | Mengekstrak menit dalam jam dari ekspresi datetime. | √ | √ | ||
month(x) | Mengekstrak bulan dalam tahun dari ekspresi datetime. | √ | √ | ||
quarter(x) | Mengembalikan kuartal tahun untuk tanggal yang ditentukan. | √ | √ | ||
second(x) | Mengekstrak detik dari menit dalam ekspresi datetime. | √ | √ | ||
timezone_hour(x) | Menyediakan offset zona waktu dalam satuan jam. | √ | × | ||
timezone_minute(x) | Menghitung offset zona waktu dalam menit. | √ | × | ||
week(x) | Mengembalikan minggu dalam tahun untuk tanggal yang ditentukan. Fungsi week setara dengan fungsi week_of_year. | √ | × | ||
week_of_year(x) | Mengembalikan minggu dalam tahun untuk tanggal yang ditentukan. Fungsi week_of_year setara dengan fungsi week. | √ | × | ||
year(x) | Ekstrak tahun dari tanggal yang ditentukan. | √ | √ | ||
year_of_week(x) | Mengembalikan tahun dari minggu ISO untuk tanggal yang ditentukan. Fungsi year_of_week setara dengan fungsi yow. | √ | √ | ||
yow(x) | Mengembalikan tahun dari minggu ISO untuk tanggal yang ditentukan. Fungsi yow setara dengan fungsi year_of_week. | √ | √ | ||
Fungsi rentang waktu | date_trunc(unit, x) | Memotong ekspresi datetime ke satuan waktu tertentu, seperti millisecond, second, minute, hour, day, month, atau year. | √ | × | |
date_add(unit, N, x) | Menambahkan N satuan waktu ke x. | √ | √ | ||
date_diff(unit, x, y) | Mengembalikan selisih antara dua ekspresi waktu, x dan y, dalam satuan waktu yang ditentukan. | √ | √ | ||
Fungsi padding 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_dateTipe 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 analisis

Fungsi current_time
Fungsi current_time mengembalikan waktu dan zona waktu saat ini dalam format HH:MM:SS.Ms Time_zone.
Sintaks
current_timeTipe nilai kembalian
Tipe data time.
Contoh
Kueri waktu dan zona waktu saat ini.
Pernyataan kueri (Debug)
* | select current_timeHasil kueri dan analisis

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_timestampTipe 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 analisis

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 analisis

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 analisis

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 timeHasil kueri dan analisis

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

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-03Pernyataan kueri
* | select from_iso8601_date(time)Hasil kueri dan analisis

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:08Pernyataan kueri
* | select from_iso8601_timestamp(time)Hasil kueri dan analisis

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:1626774758Pernyataan kueri
* | select from_unixtime(time,'Asia/shanghai')Hasil kueri dan analisis

Fungsi localtime
Fungsi localtime mengembalikan waktu lokal dalam format HH:MM:SS.Ms.
Sintaks
localtimeTipe nilai kembalian
Tipe waktu.
Contoh
Kueri waktu lokal.
Pernyataan kueri (Debug)
* | select localtimeHasil kueri dan analisis

Fungsi localtimestamp
Fungsi localtimestamp mengembalikan tanggal dan waktu lokal dalam format YYYY-MM-DD HH:MM:SS.Ms.
Sintaks
localtimestampTipe 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 analisis

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 analisis

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 ISO8601Hasil kueri dan analisis

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 analisis

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: 1734913028Contoh 2: Konversi format
Fungsi ini sering digunakan bersama
from_unixtimeuntuk 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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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 analisis

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. |
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 100Tipe 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 100Hasil kueri dan analisis

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 analisis

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 analisis

Fungsi padding time series
Fungsi time_series
Fungsi time_series melakukan padding terhadap titik data yang hilang dalam rentang waktu kueri Anda.
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 |
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:
|
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 100Hasil 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 |
%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 |
%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 |