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.
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, sedangkanstatusatau"status"menunjukkan bidang log status.
Kategori | Fungsi | Sintaksis | Deskripsi | Didukung di SQL | Didukung di SPL |
Fungsi tanggal dan waktu | current_date | Mengembalikan tanggal saat ini. | √ | × | |
current_time | Mengembalikan waktu saat ini dan zona waktu. | √ | × | ||
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 yang dapat mengembalikan nilai timestamp ke ekspresi datetime dalam format tertentu. | √ | √ | ||
date_parse(x, format) | Mengonversi string datetime menjadi ekspresi datetime yang dapat mengembalikan nilai timestamp dan berada dalam format tertentu. | √ | √ | ||
from_iso8601_date(x) | Mengonversi ekspresi tanggal dalam format ISO 8601 menjadi ekspresi tanggal yang dapat mengembalikan nilai tanggal. | √ | × | ||
from_iso8601_timestamp(x) | Mengonversi ekspresi datetime dalam format ISO 8601 menjadi ekspresi datetime yang dapat mengembalikan nilai timestamp. | √ | × | ||
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. | √ | × | ||
localtime | Mengembalikan waktu lokal. | √ | × | ||
localtimestamp | Mengembalikan tanggal dan waktu lokal. | √ | × | ||
now() | Mengembalikan tanggal dan waktu saat ini. Fungsi ini setara dengan fungsi current_timestamp. | √ | × | ||
to_iso8601(x) | Mengonversi ekspresi datetime yang dapat mengembalikan nilai tanggal atau timestamp menjadi ekspresi datetime dalam format ISO 8601. | √ | × | ||
to_unixtime(x) | Mengonversi ekspresi datetime yang dapat mengembalikan nilai timestamp menjadi timestamp UNIX. | √ | √ | ||
Fungsi ekstraksi tanggal dan waktu | day(x) | Mengembalikan hari dalam sebulan dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_month. | √ | × | |
day_of_month(x) | Mengembalikan hari dalam sebulan dari ekspresi datetime. Fungsi ini setara dengan fungsi day. | √ | × | ||
day_of_week(x) | Mengembalikan hari dalam seminggu dari ekspresi datetime. Fungsi ini setara dengan fungsi dow. | √ | √ | ||
day_of_year(x) | Mengembalikan hari dalam setahun dari ekspresi datetime. Fungsi ini setara dengan fungsi doy. | √ | √ | ||
dow(x) | Mengembalikan hari dalam seminggu dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_week. | √ | √ | ||
doy(x) | Mengembalikan hari dalam setahun dari ekspresi datetime. Fungsi ini setara dengan fungsi day_of_year. | √ | √ | ||
extract(field from x) | Mengembalikan field yang ditentukan dari ekspresi datetime. Field dapat berupa tanggal atau waktu. | √ | × | ||
hour(x) | Mengembalikan jam dalam sehari dari ekspresi datetime. Jam 24-jam digunakan. | √ | √ | ||
minute(x) | Mengembalikan menit dalam satu jam dari ekspresi datetime. | √ | √ | ||
month(x) | Mengembalikan bulan dalam setahun dari ekspresi datetime. | √ | √ | ||
quarter(x) | Mengembalikan kuartal dalam setahun pada tanggal yang ditentukan. | √ | √ | ||
second(x) | Mengembalikan detik dalam satu menit dari ekspresi datetime. | √ | √ | ||
timezone_hour(x) | Mengembalikan offset zona waktu dalam jam. | √ | × | ||
timezone_minute(x) | Mengembalikan offset zona waktu dalam menit. | √ | × | ||
week(x) | Mengembalikan minggu dalam setahun pada tanggal yang ditentukan. Fungsi ini setara dengan fungsi week_of_year. | √ | × | ||
week_of_year(x) | Mengembalikan minggu dalam setahun pada tanggal yang ditentukan. Fungsi ini setara dengan fungsi week. | √ | × | ||
year(x) | Mengembalikan tahun dari tanggal yang ditentukan. | √ | √ | ||
year_of_week(x) | Mengembalikan tahun pada sistem tanggal minggu ISO di mana tanggal tertentu jatuh. Fungsi ini setara dengan 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 | 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. | √ | × | |
date_add(unit, N, x) | Menambahkan N ke nilai x berdasarkan unit yang Anda tentukan. | √ | √ | ||
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 | 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_dateTipe 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 Analisis

fungsi current_time
Fungsi current_time mengembalikan waktu lokal dan zona waktu dalam format HH:MM:SS.Ms Time_zone.
Sintaksis
current_timeTipe nilai pengembalian
Tipe waktu.
Contoh
Kueri waktu lokal dan zona waktu.
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.
Sintaksis
current_timestampTipe 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 Analisis

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 Analisis

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 Analisis

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 timeHasil Kueri dan Analisis

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

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

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

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: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.
Sintaksis
localtimeTipe nilai pengembalian
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 Time_zone.
Sintaksis
localtimestampTipe 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 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.
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 Analisis

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 ISO8601Hasil Kueri dan Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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 Analisis

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. |
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 100Tipe 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 100Hasil Kueri dan Analisis

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 Analisis

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 Analisis

fungsi time_series
Fungsi time_series menambahkan nilai ke bidang yang tidak memiliki nilai yang dikembalikan dalam jendela waktu tertentu.
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: |
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:
|
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 100Hasil 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 |
%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 |
%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 |