Topik ini menjelaskan fungsi SQL yang didukung saat Anda menggunakan tabel pemetaan yang dibuat untuk penyimpanan analitik guna mengquery data melalui pernyataan SELECT. Fungsi tersebut mencakup fungsi deret waktu, fungsi waktu, fungsi agregat, fungsi matematika, dan fungsi string.
Fungsi deret waktu
Fungsi | Tipe keluaran | Deskripsi |
time_bin(_time,interval) | Datetime | Mengelompokkan data berdasarkan waktu ketika fungsi ini digunakan dengan group by. Sebagai contoh, Anda dapat menggunakan Parameter _time menentukan kolom waktu deret waktu _time. Parameter interval bertipe String dan menentukan interval pengelompokan data. Parameter interval dapat ditentukan menggunakan singkatan dari berbagai unit waktu. Contoh: |
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 sebuah kunci dalam tag deret waktu. |
Fungsi waktu
Saat menggunakan fitur penyimpanan analitik di konsol Tablestore, nilai keluaran tipe Datetime berada dalam zona waktu sistem (UTC+8 untuk Tiongkok, yaitu waktu Beijing). Saat menggunakan SDK Tablestore untuk memanfaatkan fitur penyimpanan analitik, nilai keluaran tipe Datetime dikonversi ke waktu UTC. Anda dapat menyesuaikan zona waktu sesuai kebutuhan bisnis. Topik ini menggunakan waktu Beijing (zona waktu UTC+8) sebagai contoh.
Fungsi | Tipe keluaran | Deskripsi |
from_unixtime(unix_timestamp) | Datetime | Mengonversi timestamp Unix menjadi nilai tipe Datetime, mengonversi zona waktu nilai tersebut, dan mengembalikan nilai tersebut. Sebagai contoh, nilai kembali dari Parameter unix_timestamp menentukan timestamp Unix yang akurat hingga detik. |
from_unixtime(unix_timestamp,fsp) | Datetime | Mengonversi timestamp Unix menjadi nilai tipe Datetime, mengonversi zona waktu nilai tersebut, dan mengembalikan nilai tersebut dibulatkan ke fsp tempat desimal. Sebagai contoh, nilai kembali dari Parameter unix_timestamp menentukan timestamp Unix yang akurat hingga detik. Parameter fsp menentukan presisi, dengan nilai maksimum 6. Jika nilai fsp lebih besar dari 6, pengecualian akan dilemparkan. Jika nilai fsp kurang dari 0, nilai tidak dibulatkan. |
from_unixtime_millis(unix_timestamp_millis) | Datetime | Mengonversi timestamp Unix menjadi nilai tipe Datetime, mengonversi zona waktu nilai tersebut, dan mengembalikan nilai tersebut. Sebagai contoh, nilai kembali dari Parameter unix_timestamp_millis menentukan timestamp Unix yang akurat hingga milidetik. |
from_unixtime_micros(unix_timestamp_micros) | Datetime | Mengonversi timestamp Unix menjadi nilai tipe Datetime, mengonversi zona waktu nilai tersebut, dan mengembalikan nilai tersebut. Sebagai contoh, nilai kembali dari Parameter unix_timestamp_micros menentukan timestamp Unix yang akurat hingga mikrodetik. |
unix_timestamp() | Double | Mengembalikan timestamp Unix waktu saat ini yang 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. Sebagai contoh, nilai kembali dari Fungsi ini setara dengan null Timestamp yang dikembalikan oleh fungsi ini memiliki digit milidetik, tetapi presisinya dalam detik, bukan milidetik. |
unix_timestamp_millis(datetime) | Double | Mengembalikan timestamp Unix akurat hingga milidetik dalam zona waktu datetime. Parameter datetime menentukan waktu tipe Datetime. |
unix_timestamp_millis(datestr) | Double | Mengembalikan timestamp Unix akurat hingga milidetik untuk tanggal yang sesuai dengan datestr dalam zona waktunya. Sebagai contoh, nilai kembali dari Parameter datestr adalah string waktu yang harus secara eksplisit menentukan tahun, bulan, dan hari. Rentang nilainya adalah dari null
|
unix_timestamp_micros() | Double | Mengembalikan timestamp Unix waktu saat ini pada tingkat mikrodetik dalam zona waktu saat ini. Presisinya dalam detik. Sebagai contoh, nilai kembali dari Fungsi ini setara dengan null Timestamp yang dikembalikan oleh fungsi ini memiliki digit mikrodetik, tetapi presisinya dalam detik, bukan mikrodetik. |
unix_timestamp_micros(datetime) | Double | Mengembalikan timestamp Unix pada tingkat mikrodetik dalam zona waktu datetime. Parameter datetime adalah waktu tipe Datetime. |
unix_timestamp_micros(datestr) | Double | Mengembalikan timestamp Unix akurat hingga mikrodetik untuk tanggal dan waktu yang sesuai dengan datestr dalam zona waktunya. Sebagai contoh, nilai kembali dari Nilai parameter datestr adalah string waktu di mana tahun, bulan, dan hari harus ditentukan secara eksplisit. Rentang nilainya adalah dari null
|
timediff(expr1,expr2) | Time | Menghitung selisih antara parameter expr1 dan expr2. Parameter expr dapat berupa tipe Datetime, tipe Time, atau tipe String. |
addtime(expr1,expr2) | Sama dengan expr1 | Menghitung jumlah dari parameter expr1 dan expr2. Parameter expr1 dapat berupa tipe Datetime atau tipe Time, dan parameter expr2 hanya dapat berupa tipe Time. |
date(datetime) | Date | Mengembalikan bagian tanggal dari datetime. Nilai parameter datetime adalah waktu tipe Datetime. |
hour(expr) | BigInt | Mengembalikan bagian jam dalam nilai parameter expr. Nilai parameter expr dapat berupa tipe Datetime atau tipe Time. |
minute(expr) | BigInt | Mengembalikan bagian menit dalam nilai parameter expr. Nilai parameter expr dapat berupa tipe Datetime atau tipe Time. |
second(expr) | BigInt | Mengembalikan bagian detik dalam nilai parameter expr. Nilai parameter expr dapat berupa tipe Datetime atau tipe Time. |
microsecond(expr) | BigInt | Mengembalikan bagian mikrodetik dalam nilai parameter expr. Nilai parameter expr dapat berupa tipe Datetime atau tipe Time. |
month(expr) | BigInt | Mengembalikan bagian bulan dalam nilai parameter expr. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
year(expr) | BigInt | Mengembalikan bagian tahun dalam nilai parameter expr. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
week(expr) | BigInt | Mengembalikan minggu dalam tahun di mana tanggal yang ditentukan oleh parameter expr jatuh. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
week(expr,mode) | BigInt | Mengembalikan minggu dalam tahun di mana tanggal yang ditentukan oleh parameter expr jatuh. Metode yang digunakan untuk menghitung minggu dalam tahun ditentukan oleh parameter mode. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. Gambar berikut menunjukkan rentang nilai parameter mode (kompatibel dengan MySQL).
|
weekday(expr) | BigInt | Mengembalikan nilai indeks yang sesuai dengan hari dalam seminggu untuk tanggal tertentu. Nilai kembali 0 menunjukkan Senin, 1 menunjukkan Selasa, dan seterusnya, dengan 6 menunjukkan Minggu. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
weekofyear(expr) | BigInt | Mengembalikan minggu dalam tahun untuk tanggal tertentu. Rentang nilainya adalah dari 1 hingga 53. WEEKOFYEAR setara dengan WEEK(date,3). Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
dayofmonth(expr) | BigInt | Mengembalikan hari dalam bulan untuk tanggal tertentu. Nilai kembali berkisar dari 1 hingga 31. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
dayofweek(expr) | BigInt | Mengembalikan nilai indeks yang sesuai dengan hari dalam seminggu untuk tanggal tertentu. Nilai kembali 1 menunjukkan Minggu, 2 menunjukkan Senin, dan seterusnya, dengan 7 menunjukkan Sabtu. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
dayofyear(expr) | BigInt | Mengembalikan hari dalam tahun untuk tanggal tertentu. Nilai kembali berkisar dari 1 hingga 366. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
monthname(expr) | Varchar | Mengembalikan nama lengkap bulan untuk tanggal yang ditentukan oleh parameter expr. Nilai parameter expr dapatberupa tipe Datetime atau tipe Date. |
dayname(expr) | Varchar | Mengembalikan nama lengkap hari dalam seminggu untuk tanggal yang ditentukan oleh parameter expr. Nilai parameter expr dapat berupa tipe Datetime atau tipe Date. |
Fungsi agregat
Fungsi | Tipe keluaran | Deskripsi |
count(expr) | Bigint | Mengembalikan jumlah baris di mana nilai kolom yang ditentukan tidak NULL di antara baris yang diambil oleh pernyataan SELECT. Hasilnya adalah nilai Bigint. |
sum(expr) | Sama dengan tipe expr | Mengembalikan jumlah dari bidang expr. Jika hasil query kosong, NULL dikembalikan. |
avg(expr) | Double | Mengembalikan nilai rata-rata dari bidang expr. Jika hasil query kosong, NULL dikembalikan. |
min(expr) | Sama dengan tipe expr | Mengembalikan nilai minimum dari bidang expr. Jika nilai bidang expr adalah string, outputnya adalah string leksikografis terkecil. |
max(expr) | Sama dengan tipe expr | Mengembalikan nilai maksimum dari bidang expr. Jika nilai bidang expr adalah string, outputnya adalah string leksikografis terbesar. |
max_by(expr1,expr2) | Sama dengan tipe expr1 | Mengembalikan nilai bidang expr1 pada baris di mana nilai bidang expr2 adalah yang terbesar. Jika nilai bidang expr1 pada baris di mana nilai bidang expr2 adalah yang terbesar adalah NULL, NULL dikembalikan. Nilai bidang expr1 dan expr2 bisa berupa string secara bersamaan. |
min_by(expr1,expr2) | Sama dengan tipe expr1 | Mengembalikan nilai bidang expr1 pada baris di mana nilai bidang expr2 adalah yang terkecil. Jika nilai bidang expr1 pada baris di mana nilai bidang expr2 adalah yang terkecil adalah NULL, NULL dikembalikan. Nilai bidang expr1 dan expr2 bisa berupa string secara bersamaan. |
bit_and(expr) | Bigint | Mengembalikan hasil operasi AND bitwise pada bidang expr. Jika hasil query kosong, bilangan bulat 64-bit dengan semua bit disetel ke 1 dikembalikan. |
bit_or(expr) | Bigint | Mengembalikan hasil operasi OR bitwise pada bidang expr. Jika hasil query kosong, bilangan bulat 64-bit dengan semua bit disetel ke 0 dikembalikan. |
bit_xor(expr) | Bigint | Mengembalikan hasil operasi XOR bitwise pada bidang expr. Jika hasil query kosong, bilangan bulat 64-bit dengan semua bit disetel ke 0 dikembalikan. |
std(expr) | Double | Mengembalikan deviasi standar populasi dari bidang expr. std, stddev, dan stddev_pop adalah tiga fungsi yang setara. Jika hasil query kosong, NULL dikembalikan. |
stddev(expr) | Double | |
stddev_pop(expr) | Double | |
stddev_samp(expr) | Double | Mengembalikan deviasi standar sampel dari bidang expr. Jika hasil query kosong, NULL dikembalikan. |
var_pop(expr) | Double | Mengembalikan varians populasi dari bidang expr. var_pop dan variance adalah dua fungsi yang setara. Jika hasil query kosong, NULL dikembalikan. |
variance(expr) | Double | |
var_samp(expr) | Double | Mengembalikan varians sampel dari bidang expr. Jika hasil query kosong, NULL dikembalikan. |
Fungsi matematika
Fungsi | Tipe keluaran | Deskripsi |
mod(x,y) | Sama dengan tipe x | Mengembalikan sisa pembagian x oleh y. Jika y adalah 0, 0 dikembalikan. |
abs(x) | Sama dengan tipe x | Mengembalikan nilai absolut dari x. |
ceil(x) | Sama dengan tipe x | Mengembalikan nilai integer terkecil yang tidak kurang dari x. |
floor(x) | Sama dengan tipe x | Mengembalikan nilai integer terbesar yang tidak lebih dari x. |
round(x) | Sama dengan tipe x | Mengembalikan nilai integer dari x yang dibulatkan ke integer terdekat. |
round(x,y) | Sama dengan tipe x | Mengembalikan nilai x yang dibulatkan ke y tempat desimal. |
acos(x) | Double | Mengembalikan arccosinus dari x, yaitu nilai y ketika Jika nilai x tidak berada dalam rentang -1 hingga 1, NULL dikembalikan. |
asin(x) | Double | Mengembalikan arcsinus dari x, yaitu nilai y ketika Jika nilai x tidak berada dalam rentang -1 hingga 1, NULL dikembalikan. |
atan(x) | Double | Mengembalikan arctangen dari x, yaitu nilai y ketika |
atan2(x,y) | Double | Mengembalikan arctangen dari dua variabel x dan y. Prosesnya mirip dengan saat Anda menghitung arctangen dari |
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. null π 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 |
log10(x) | Double | Mengembalikan logaritma x dengan basis 10. Jika x kurang dari atau sama dengan |
Fungsi string
Fungsi | Tipe keluaran | Deskripsi |
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. Sebagai contoh, nilai kembali dari |
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 di awal dihapus dari nilai parameter str. |
lpad(str,len,padstr) | Varchar | Menambahkan nilai parameter str di sebelah kiri dengan nilai parameter padstr hingga panjangnya sesuai dengan nilai yang ditentukan oleh parameter len, dan mengembalikan string hasil padding tersebut. Jika panjang nilai parameter str lebih besar dari nilai yang ditentukan oleh parameter len, nilai kembali dipotong menjadi panjang yang ditentukan oleh parameter len. Sebagai contoh, nilai kembali dari |
rtrim(str) | Varchar | Mengembalikan string yang diperoleh setelah spasi di akhir dihapus dari nilai parameter str. |
rpad(str,len,padstr) | Varchar | Menambahkan nilai parameter str di sebelah kanan dengan nilai parameter padstr hingga panjangnya sesuai dengan nilai yang ditentukan oleh parameter len, dan mengembalikan string hasil padding tersebut. Jika panjang nilai parameter str lebih besar dari nilai yang ditentukan oleh parameter len, nilai kembali dipotong menjadi panjang yang ditentukan oleh parameter len. |
trim(str,len,padstr) | Varchar | Mengembalikan string yang diperoleh setelah spasi di awal dan di akhir dihapus dari nilai parameter str. |
substr(str,pos1,pos2) | Varchar | Mengekstrak sejumlah karakter tertentu yang ditentukan oleh parameter pos2 dari nilai parameter str dan mengembalikan hasil ekstraksi. 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 diekstrak 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 untuk nilai parameter from_str peka huruf besar-kecil. |
reverse(str) | Varchar | Mengembalikan hasil yang diperoleh setelah nilai parameter str dibalik. |
upper(str) | Varchar | Mengembalikan nilai parameter str dalam huruf besar. |
