All Products
Search
Document Center

Tablestore:Fungsi SQL yang Didukung

Last Updated:Sep 10, 2026

Topik ini menjelaskan fungsi SQL yang didukung saat Anda menggunakan tabel pemetaan yang dibuat untuk analytical store untuk mengkueri data dengan mengeksekusi pernyataan SELECT, mencakup fungsi deret waktu, fungsi waktu, fungsi agregat, fungsi matematika, dan fungsi string.

Time series functions

Function

Output type

Description

time_bin(_time,interval)

Datetime

Melakukan bucketing data berdasarkan waktu ketika fungsi ini digunakan bersama group by. Misalnya, Anda dapat menggunakan group by time_bin(_time,"10s") untuk melakukan bucketing data setiap 10 detik. Anda juga dapat menggunakan fungsi agregat untuk menghitung data dalam bucket tersebut.

Parameter _time menentukan kolom waktu deret waktu _time. Parameter interval bertipe String dan menentukan interval bucketing data. Parameter interval dapat ditentukan menggunakan singkatan berbagai satuan waktu. Contoh: group by time_bin(_time,"10s"), group by time_bin(_time,"30min"), group by time_bin(_time,"1h"), group by time_bin(_time,"1d"), dan group by time_bin(_time,"10day").

tag_value_at(_tags,tag_key)

Varchar

Mengembalikan nilai yang sesuai dengan kunci yang ditentukan dalam tag deret waktu.

Parameter _tags menentukan kolom tag deret waktu _tags, dan parameter tag_key menentukan kunci dalam tag deret waktu.

Time functions

Penting

Saat menggunakan fitur analytical store di Konsol Tablestore, nilai output bertipe Datetime berada dalam zona waktu sistem (UTC+8 untuk Tiongkok, yaitu waktu Beijing). Namun, jika Anda menggunakan SDK Tablestore untuk mengakses fitur analytical store, nilai output bertipe Datetime dikonversi ke waktu UTC. Anda dapat menyesuaikan zona waktu sesuai kebutuhan bisnis Anda. Topik ini menggunakan waktu Beijing (zona waktu UTC+8) sebagai contoh.

Function

Output type

Description

from_unixtime(unix_timestamp)

Datetime

Mengonversi timestamp Unix ke nilai bertipe Datetime, mengonversi zona waktu nilai tersebut, lalu mengembalikan hasilnya. Misalnya, nilai kembali dari from_unixtime(1447430881) adalah '2015-11-13 10:08:01'.

Parameter unix_timestamp menentukan timestamp Unix akurat hingga detik.

from_unixtime(unix_timestamp,fsp)

Datetime

Mengonversi timestamp Unix ke nilai bertipe Datetime, mengonversi zona waktu nilai tersebut, lalu mengembalikan hasil yang dibulatkan ke tempat desimal fsp. Misalnya, nilai kembali dari from_unixtime(1447430881.132216,3) adalah '2015-11-14 00:08:01.132'.

Parameter unix_timestamp menentukan timestamp Unix akurat hingga detik. Parameter fsp menentukan presisi, dengan nilai maksimum 6. Jika nilai fsp lebih besar dari 6, akan terjadi pengecualian. Jika nilai fsp kurang dari 0, nilai tidak dibulatkan.

from_unixtime_millis(unix_timestamp_millis)

Datetime

Mengonversi timestamp Unix ke nilai bertipe Datetime, mengonversi zona waktu nilai tersebut, lalu mengembalikan hasilnya. Misalnya, nilai kembali dari from_unixtime_millis(1447430881231) adalah '2015-11-14 00:08:01.231000'.

Parameter unix_timestamp_millis menentukan timestamp Unix akurat hingga milidetik.

from_unixtime_micros(unix_timestamp_micros)

Datetime

Mengonversi timestamp Unix ke nilai bertipe Datetime, mengonversi zona waktu nilai tersebut, lalu mengembalikan hasilnya. Misalnya, nilai kembali dari from_unixtime_micros(1447430881231781) adalah '2015-11-14 00:08:01.231781'.

Parameter unix_timestamp_micros menentukan timestamp Unix akurat hingga mikrodetik.

unix_timestamp()

Double

Mengembalikan timestamp Unix waktu saat ini akurat hingga detik dalam zona waktu saat ini.

unix_timestamp_millis()

Double

Mengembalikan timestamp Unix waktu saat ini yang dibulatkan ke detik terdekat akurat hingga milidetik dalam zona waktu saat ini. Misalnya, nilai kembali dari unix_timestamp_millis() adalah 1686299575000.

Fungsi ini setara dengan unix_timestamp() *1000.

Penting

Timestamp yang dikembalikan oleh fungsi ini memiliki digit milidetik, tetapi presisinya dalam satuan detik, bukan milidetik.

unix_timestamp_millis(datetime)

Double

Mengembalikan timestamp Unix akurat hingga milidetik dalam zona waktu datetime.

Parameter datetime menentukan waktu bertipe Datetime.

unix_timestamp_millis(datestr)

Double

Mengembalikan timestamp Unix akurat hingga milidetik untuk tanggal yang sesuai dengan datestr dalam zona waktunya. Misalnya, nilai kembali dari unix_timestamp_millis("2023-06-09 16:23:31.000000") adalah 1686299011000.000000.

Parameter datestr adalah string waktu yang harus secara eksplisit menentukan tahun, bulan, dan hari. Rentang nilainya dari 1970-01-01 00:00:01.000000 UTC hingga 2038-01-19 03:14:07.999999 UTC.

Penting
  • Karena parameter datestr harus menentukan tahun, bulan, dan hari, jika parameter datestr yang tidak valid dimasukkan, seperti select unix_timestamp_millis("2023-07"), hasilnya akan null.

  • Jika nilai parameter datestr melebihi rentang nilai (1970-01-01 00:00:01.000000 UTC hingga 2038-01-19 03:14:07.999999 UTC), hasilnya akan 0.

unix_timestamp_micros()

Double

Mengembalikan timestamp Unix waktu saat ini dalam satuan mikrosekon berdasarkan zona waktu lokal, dengan presisi hingga detik. Sebagai contoh, nilai yang dikembalikan oleh unix_timestamp_micros() adalah 1686299575000000.

Fungsi ini setara dengan unix_timestamp() *1000000.

Penting

Timestamp yang dikembalikan oleh fungsi ini memiliki digit mikrodetik, tetapi presisinya dalam satuan detik, bukan mikrodetik.

unix_timestamp_micros(datetime)

Double

Mengembalikan timestamp Unix pada tingkat mikrodetik dalam zona waktu datetime.

Parameter datetime adalah waktu bertipe Datetime.

unix_timestamp_micros(datestr)

Double

Mengembalikan timestamp Unix akurat hingga mikrodetik untuk tanggal dan waktu yang sesuai dengan datestr dalam zona waktunya. Misalnya, nilai kembali dari unix_timestamp_micros("2023-06-09 16:23:31.000000") adalah 1686299011000000.000000.

Nilai parameter datestr adalah string waktu yang harus secara eksplisit menentukan tahun, bulan, dan hari. Rentang nilainya dari 1970-01-01 00:00:01.000000 UTC hingga 2038-01-19 03:14:07.999999 UTC.

Penting
  • Saat Anda menentukan nilai untuk parameter datestr, Anda harus menentukan tahun, bulan, dan hari. Jika nilai yang tidak valid ditentukan untuk parameter datestr, seperti select unix_timestamp_micros("2023-07"), nilai kembalinya adalah null.

  • Jika nilai parameter datestr melebihi rentang nilai (1970-01-01 00:00:01.000000 UTC hingga 2038-01-19 03:14:07.999999 UTC), nilai kembalinya adalah 0.

timediff(expr1,expr2)

Time

Menghitung selisih antara parameter expr1 dan expr2.

Parameter expr dapat bertipe Datetime, Time, atau String.

addtime(expr1,expr2)

Same as expr1

Menghitung jumlah dari parameter expr1 dan expr2.

Parameter expr1 dapat bertipe Datetime atau Time, sedangkan parameter expr2 hanya dapat bertipe Time.

date(datetime)

Date

Mengembalikan bagian tanggal dari datetime.

Nilai parameter datetime adalah waktu bertipe Datetime.

hour(expr)

BigInt

Mengembalikan bagian jam dalam nilai parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Time.

minute(expr)

BigInt

Mengembalikan bagian menit dalam nilai parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Time.

second(expr)

BigInt

Mengembalikan bagian kedua dari nilai parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Time.

microsecond(expr)

BigInt

Mengembalikan bagian mikrodetik dalam nilai parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Time.

month(expr)

BigInt

Mengembalikan bagian bulan dalam nilai parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Date.

year(expr)

BigInt

Mengembalikan bagian tahun dalam nilai parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Date.

week(expr)

BigInt

Mengembalikan minggu dalam tahun untuk tanggal yang ditentukan oleh parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Date.

week(expr,mode)

BigInt

Mengembalikan minggu dalam tahun untuk tanggal yang ditentukan oleh parameter expr. Metode yang digunakan untuk menghitung minggu dalam tahun ditentukan oleh parameter mode.

Nilai parameter expr dapat bertipe Datetime atau Date. Gambar berikut menunjukkan rentang nilai parameter mode (kompatibel dengan MySQL).

image.png

weekday(expr)

BigInt

Mengembalikan nilai indeks yang sesuai dengan hari dalam minggu untuk tanggal tertentu. Nilai kembali 0 menunjukkan Senin, 1 menunjukkan Selasa, dan seterusnya, dengan 6 menunjukkan Minggu.

Nilai parameter expr dapat bertipe Datetime atau Date.

weekofyear(expr)

BigInt

Mengembalikan minggu dalam tahun untuk tanggal tertentu. Rentang nilainya dari 1 hingga 53. WEEKOFYEAR setara dengan WEEK(date,3).

Nilai parameter expr dapat bertipe Datetime atau Date.

dayofmonth(expr)

BigInt

Mengembalikan hari dalam bulan untuk tanggal tertentu. Nilai kembali berkisar dari 1 hingga 31.

Nilai parameter expr dapat bertipe Datetime atau Date.

dayofweek(expr)

BigInt

Mengembalikan nilai indeks yang sesuai dengan hari dalam minggu untuk tanggal tertentu. Nilai kembali 1 menunjukkan Minggu, 2 menunjukkan Senin, dan seterusnya, dengan 7 menunjukkan Sabtu.

Nilai parameter expr dapat bertipe Datetime atau Date.

dayofyear(expr)

BigInt

Mengembalikan hari dalam tahun untuk tanggal tertentu. Nilai kembali berkisar dari 1 hingga 366.

Nilai parameter expr dapat bertipe Datetime atau Date.

monthname(expr)

Varchar

Mengembalikan nama lengkap bulan untuk tanggal yang ditentukan oleh parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Date.

dayname(expr)

Varchar

Mengembalikan nama lengkap hari dalam minggu untuk tanggal yang ditentukan oleh parameter expr.

Nilai parameter expr dapat bertipe Datetime atau Date.

Aggregate functions

Function

Output type

Description

count(expr)

Bigint

Mengembalikan jumlah baris di mana nilai kolom yang ditentukan bukan NULL di antara baris yang diambil oleh pernyataan SELECT. Hasilnya adalah nilai Bigint.

sum(expr)

Same type as expr

Mengembalikan jumlah dari bidang expr.

Jika hasil kueri kosong, NULL dikembalikan.

avg(expr)

Double

Mengembalikan nilai rata-rata dari bidang expr.

Jika hasil kueri kosong, NULL dikembalikan.

min(expr)

Same type as expr

Mengembalikan nilai minimum dari bidang expr.

Jika nilai bidang expr berupa string, outputnya adalah string terkecil secara leksikografis.

max(expr)

Same type as expr

Mengembalikan nilai maksimum dari bidang expr.

Jika nilai bidang expr berupa string, outputnya adalah string terbesar secara leksikografis.

max_by(expr1,expr2)

Same type as expr1

Mengembalikan nilai bidang expr1 pada baris di mana nilai bidang expr2 paling besar.

Jika nilai bidang expr1 pada baris di mana nilai bidang expr2 paling besar adalah NULL, maka NULL dikembalikan. Nilai bidang expr1 dan expr2 dapat berupa string secara bersamaan.

min_by(expr1,expr2)

Same type as expr1

Mengembalikan nilai bidang expr1 pada baris di mana nilai bidang expr2 paling kecil.

Jika nilai bidang expr1 pada baris di mana nilai bidang expr2 paling kecil adalah NULL, maka NULL dikembalikan. Nilai bidang expr1 dan expr2 dapat berupa string secara bersamaan.

bit_and(expr)

Bigint

Mengembalikan hasil operasi AND bitwise pada bidang expr.

Jika hasil kueri kosong, integer 64-bit dengan semua bit bernilai 1 dikembalikan.

bit_or(expr)

Bigint

Mengembalikan hasil operasi OR bitwise pada bidang expr.

Jika hasil kueri kosong, integer 64-bit dengan semua bit bernilai 0 dikembalikan.

bit_xor(expr)

Bigint

Mengembalikan hasil operasi XOR bitwise pada bidang expr.

Jika hasil kueri kosong, integer 64-bit dengan semua bit bernilai 0 dikembalikan.

std(expr)

Double

Mengembalikan simpangan baku populasi dari bidang expr. std, stddev, dan stddev_pop adalah tiga fungsi yang setara.

Jika hasil kueri kosong, NULL dikembalikan.

stddev(expr)

Double

stddev_pop(expr)

Double

stddev_samp(expr)

Double

Mengembalikan simpangan baku sampel dari bidang expr.

Jika hasil kueri kosong, NULL dikembalikan.

var_pop(expr)

Double

Mengembalikan varians populasi dari bidang expr.

var_pop dan variance adalah dua fungsi yang setara.

Jika hasil kueri kosong, NULL dikembalikan.

variance(expr)

Double

var_samp(expr)

Double

Mengembalikan varians sampel dari bidang expr.

Jika hasil kueri kosong, NULL dikembalikan.

Mathematical functions

Function

Output type

Description

mod(x,y)

Same type as x

Mengembalikan sisa pembagian x dibagi y.

Jika y bernilai 0, 0 dikembalikan.

abs(x)

Same type as x

Mengembalikan nilai absolut dari x.

ceil(x)

Same type as x

Mengembalikan nilai integer terkecil yang tidak kurang dari x, dengan pembulatan ke atas.

floor(x)

Same type as x

Mengembalikan nilai integer terbesar yang tidak lebih dari x, dengan pembulatan ke bawah.

round(x)

Same type as x

Mengembalikan nilai integer dari x yang dibulatkan ke integer terdekat.

round(x,y)

Same type as x

Mengembalikan nilai x yang dibulatkan ke tempat desimal y.

acos(x)

Double

Mengembalikan arkkosinus dari x, yaitu nilai y ketika cos(y)=x.

Jika nilai x tidak berada dalam rentang -1 hingga 1, NULL dikembalikan.

asin(x)

Double

Mengembalikan ark sinus dari x, yaitu nilai y ketika sin(y)=x.

Jika nilai x tidak berada dalam rentang -1 hingga 1, NULL dikembalikan.

atan(x)

Double

Mengembalikan ark tangen dari x, yaitu nilai y ketika tan(y)=x.

atan2(x,y)

Double

Mengembalikan ark tangen dari dua variabel x dan y. Prosesnya mirip dengan menghitung ark tangen dari y/x, kecuali bahwa tanda kedua parameter digunakan untuk menentukan kuadran hasilnya.

cos(x)

Double

Mengembalikan kosinus dari x. Nilai x dinyatakan dalam format radian.

sin(x)

Double

Mengembalikan sinus dari x. Nilai x dinyatakan dalam format radian.

tan(x)

Double

Mengembalikan tangen dari x. Nilai x dinyatakan dalam format radian.

exp(x)

Double

Mengembalikan nilai e (basis logaritma natural) dipangkatkan x.

pow(x,y)

Double

Mengembalikan nilai x dipangkatkan y.

radians(x)

Double

Mengembalikan parameter x yang dikonversi dari derajat ke radian.

Penting

π radian sama dengan 180 derajat.

sqrt(x)

Double

Mengembalikan akar kuadrat dari x.

sign(x)

Bigint

Mengembalikan -1, 0, atau 1 tergantung pada apakah nilai parameter x negatif, nol, atau positif.

pi()

Double

Mengembalikan nilai Pi, yaitu nilai π.

ln(x)

Double

Mengembalikan logaritma natural dari x, yaitu logaritma x dengan basis e.

Jika x kurang dari atau sama dengan 0, NULL dikembalikan.

log2(x)

Double

Mengembalikan logaritma biner dari x.

Jika x kurang dari atau sama dengan 0.0E0, NULL dikembalikan.

log10(x)

Double

Mengembalikan logaritma x dengan basis 10.

Jika x kurang dari atau sama dengan 0.0E0, NULL dikembalikan.

String functions

Function

Output type

Description

length(str)

Bigint

Mengembalikan panjang string dalam byte.

concat(str1,str2...)

Varchar

Mengembalikan hasil penggabungan string. Anda dapat menentukan beberapa string.

to_base64(str)

Varchar

Mengembalikan hasil pengkodean Base64 dari string yang ditentukan oleh parameter str.

hex(str)

Bigint

Mengembalikan representasi string heksadesimal dari nilai parameter str, di mana setiap byte dari setiap karakter dalam nilai parameter str dikonversi menjadi dua digit heksadesimal.

hex(str)

Varchar

Mengembalikan representasi string heksadesimal dari x. Misalnya, nilai kembali dari hex(255) adalah 'FF'.

instr(str1,substr)

Bigint

Mengembalikan posisi kemunculan pertama dari nilai parameter substr dalam string yang ditentukan oleh parameter str.

lower(str)

Varchar

Mengembalikan huruf kecil dari string yang ditentukan oleh parameter str.

ltrim(str)

Varchar

Mengembalikan string yang diperoleh setelah spasi awal dihapus dari nilai parameter str.

lpad(str,len,padstr)

Varchar

Menambahkan nilai parameter padstr di sebelah kiri nilai parameter str hingga panjangnya sesuai dengan nilai yang ditentukan oleh parameter len, lalu mengembalikan string hasil penambahan tersebut.

Jika panjang nilai parameter str lebih besar dari nilai yang ditentukan oleh parameter len, nilai kembali dipotong hingga panjang yang ditentukan oleh parameter len. Misalnya, nilai kembali dari lpad("aa",3,"0") adalah "0aa", dan nilai kembali dari lpad("aa",1,"0") adalah "a".

rtrim(str)

Varchar

Mengembalikan string yang diperoleh setelah spasi akhir dihapus dari nilai parameter str.

rpad(str,len,padstr)

Varchar

Menambahkan nilai parameter padstr di sebelah kanan nilai parameter str hingga panjangnya sesuai dengan nilai yang ditentukan oleh parameter len, lalu mengembalikan string hasil penambahan tersebut.

Jika panjang nilai parameter str lebih besar dari nilai yang ditentukan oleh parameter len, nilai kembali dipotong hingga panjang yang ditentukan oleh parameter len.

trim(str,len,padstr)

Varchar

Mengembalikan string yang diperoleh setelah spasi awal dan akhir dihapus dari nilai parameter str.

substr(str,pos1,pos2)

Varchar

Mengekstraksi sejumlah karakter tertentu yang ditentukan oleh parameter pos2 dari nilai parameter str dan mengembalikan hasil ekstraksi tersebut. Ekstraksi dimulai dari karakter yang ditentukan oleh parameter pos1.

Jika parameter pos2 tidak ditentukan dalam fungsi, semua karakter mulai dari karakter yang ditentukan oleh parameter pos1 diekstraksi sebagai string yang dikembalikan.

replace(str,from_str,to_str)

Varchar

Mengembalikan string yang diperoleh setelah semua nilai parameter from_str dalam nilai parameter str diganti dengan nilai parameter to_str. Pencarian nilai parameter from_str bersifat case-sensitive.

reverse(str)

Varchar

Mengembalikan hasil setelah nilai parameter str dibalik.

upper(str)

Varchar

Mengembalikan nilai parameter str dalam huruf kapital.