Topik ini menjelaskan sintaksis, parameter, dan contoh fungsi matematika yang didukung oleh fitur analisis data. Anda dapat memilih fungsi matematika sesuai kebutuhan bisnis untuk menghitung data atau mengonversi tipe data.
| Fungsi | Deskripsi |
| ABS | Menghitung nilai absolut. |
| ASIN | Menghitung arcsinus. |
| COS | Menghitung kosinus. |
| COSH | Menghitung kosinus hiperbolik. |
| CEIL | Membulatkan angka ke atas dan mengembalikan bilangan bulat terdekat. |
| EXP | Menghitung nilai eksponensial. |
| FLOOR | Membulatkan angka ke bawah dan mengembalikan bilangan bulat terdekat. |
| LOG | Menghitung logaritma. |
| POW | Menghitung pangkat ke-n dari suatu nilai. |
| RAND | Mengembalikan angka acak. |
| ROUND | Mengembalikan nilai yang dibulatkan ke tempat desimal tertentu. |
| SIN | Menghitung sinus. |
| SINH | Menghitung sinus hiperbolik. |
| SQRT | Menghitung akar kuadrat. |
| TAN | Menghitung tangen. |
| TANH | Menghitung tangen hiperbolik. |
| TRUNC | Memotong nilai input ke tempat desimal tertentu. |
| HEX | Mengonversi bilangan bulat atau string menjadi bilangan heksadesimal. |
| PI | Menghitung nilai π. |
| UNHEX | Mengonversi string heksadesimal menjadi string. |
ABS
- Sintaksis
double abs(double <number>) bigint abs(bigint <number>) decimal abs(decimal <number>) - Deskripsi
Menghitung nilai absolut dari number.
- Parameter number: wajib. Jika number bertipe DOUBLE, BIGINT, atau DECIMAL, nilai dengan tipe yang sama akan dikembalikan.
- Jika number bertipe BIGINT, nilai yang dikembalikan adalah bertipe BIGINT.
- Jika number bertipe DOUBLE, nilai yang dikembalikan adalah bertipe DOUBLE.
- Jika number bertipe DECIMAL, nilai yang dikembalikan adalah bertipe DECIMAL.
- Jika number bertipe STRING, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan.
- Jika nilai input disetel ke null, null akan dikembalikan.
- Jika number bertipe data selain tipe-tipe di atas, kesalahan akan dikembalikan.
null Jika nilai input bertipe BIGINT dan lebih besar dari nilai maksimum tipe BIGINT, nilai bertipe DOUBLE akan dikembalikan. Namun, presisi mungkin hilang. - Nilai Kembali
Tipe nilai kembali bergantung pada tipe nilai input, yang bisa berupa DOUBLE, BIGINT, atau DECIMAL.
- Contoh
-- Nilai kembali adalah NULL. abs(null); -- Nilai kembali adalah 1. abs(-1); -- Nilai kembali adalah 1.2. abs(-1.2); -- Nilai kembali adalah 2.0. abs("-2"); -- Nilai 1.2232083745629837E32 dikembalikan. abs(122320837456298376592387456923748);
ASIN
- Sintaksis
double asin(double <number>) decimal asin(decimal <number>) - Deskripsi
Menghitung arcsinus dari number.
- Parameter
number: wajib. Nilainya bertipe DOUBLE atau DECIMAL dan berkisar antara -1 hingga 1. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Nilainya berkisar antara -π/2 hingga π/2. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 1.5707963267948966. asin(1); -- Nilai kembali adalah 1.5707963267948966. asin(-1);
CEIL
- Sintaksis
bigint ceil(double <value>) bigint ceil(decimal <value>) - Deskripsi
Membulatkan value ke atas dan mengembalikan bilangan bulat terdekat.
- Parameter
value: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe BIGINT dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 2. ceil(1.1); -- Nilai kembali adalah -1. ceil(-1.1);
COS
- Sintaksis
double cos(double <number>) decimal cos(decimal <number>) - Deskripsi
Menghitung kosinus dari number, yang merupakan nilai radian.
- Parameter
number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 2.6794896585028633e-8. cos(3.1415926/2); -- Nilai kembali adalah -0.9999999999999986. cos(3.1415926);
COSH
- Sintaksis
double cosh(double <number>) decimal cosh(decimal <number>) - Deskripsi
Menghitung kosinus hiperbolik dari number.
- Parameter
number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 2.5091784169949913. cosh(3.1415926/2);
EXP
- Sintaksis
double exp(double <number>) decimal exp(decimal <number>) - Deskripsi
Menghitung nilai eksponensial dari number.
- Parameter
number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 4.810477252069109. exp(3.1415926/2);
FLOOR
- Sintaksis
bigint floor(double <number>) bigint floor(decimal <number>) - Deskripsi
Membulatkan number ke bawah dan mengembalikan bilangan bulat terdekat yang tidak lebih besar dari nilai number.
- Parameter
number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe BIGINT dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 1. floor(1.2); -- Nilai kembali adalah 0. floor(0.1); -- Nilai kembali adalah -2. floor(-1.2); -- Nilai kembali adalah -1. floor(-0.1); -- Nilai kembali adalah 0. floor(0.0); -- Nilai kembali adalah 0. floor(-0.0);
LOG
- Sintaksis
double log(double <base>, double <x>) decimal log(decimal <base>, decimal <x>) - Deskripsi
Menghitung logaritma dari x dengan basis base.
- Parameter
- base: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- x: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali Nilai logaritma bertipe DOUBLE atau DECIMAL dikembalikan.
- Jika parameter input disetel ke null, null akan dikembalikan.
- Jika nilai input adalah nilai negatif atau 0, kesalahan akan dikembalikan.
- Jika nilai base adalah 1, kesalahan akan dikembalikan. Nilai 1 menyebabkan pembagian dengan nol.
- Contoh
-- Nilai kembali adalah 4.0. log(2, 16);
POW
- Sintaksis
double pow(double <x>, double <y>) decimal pow(decimal <x>, decimal <y>) - Deskripsi
Menghitung pangkat ke-y dari x, yaitu, x^y.
- Parameter
- x: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- y: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 65536.0. pow(2, 16);
RAND
- Sintaksis
double rand(bigint <seed>) - Deskripsi
Mengembalikan angka acak bertipe DOUBLE. Nilainya berkisar antara 0 hingga 1.
- Parameter
seed: opsional. Nilainya bertipe BIGINT. Parameter ini menentukan benih acak yang menentukan titik awal dalam menghasilkan angka acak.
null Anda dapat menggunakan seed untuk menentukan urutan angka acak. Setelah seed ditentukan, nilai kembali dari fungsi ini tetap. - Nilai Kembali
Nilai bertipe DOUBLE dikembalikan.
- Contoh
-- Nilai kembali adalah 4.7147460303803655E-4. rand(); -- Nilai kembali adalah 0.7308781907032909. rand(1);
ROUND
- Sintaksis
double round(double <number>[, bigint <decimal_places>]) decimal round(decimal <number>[, bigint <decimal_places>]) - Deskripsi
Mengembalikan angka yang dibulatkan ke tempat desimal tertentu.
- Parameter
- number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- decimal_places: opsional. Nilainya adalah konstanta bertipe BIGINT. Nilai dibulatkan ke tempat desimal tertentu. Jika bertipe data lainnya, kesalahan akan dikembalikan. Jika parameter ini tidak ditentukan, angka dibulatkan ke satuan terdekat. Nilai default adalah 0.null Nilai decimal_places bisa negatif. Nilai negatif menunjukkan penghitungan dari titik desimal ke kiri, dan bagian desimal diabaikan. Jika decimal_places melebihi panjang bagian integer, 0 dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 125.0. round(125.315); -- Nilai kembali adalah 125.3. round(125.315, 1); -- Nilai kembali adalah 125.32. round(125.315, 2); -- Nilai kembali adalah 125.315. round(125.315, 3); -- Nilai kembali adalah -125.32. round(-125.315, 2); -- Nilai kembali adalah 100.0. round(123.345, -2); -- Nilai kembali adalah null. round(null); -- Nilai kembali adalah 123.345. round(123.345, 4); -- Nilai kembali adalah 0.0. round(123.345, -4);
SIN
- Sintaksis
double sin(double <number>) decimal sin(decimal <number>) - Deskripsi
Menghitung sinus dari number, yang merupakan nilai radian.
- Parameter
number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah -0.3048106211022167. sin(60);
SINH
- Sintaksis
double sinh(double <number>) decimal sinh(decimal <number>) - Deskripsi
Menghitung sinus hiperbolik darinumber.
- Parameter
number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 5.343237290762231E12. sinh(30);
SQRT
- Sintaksis
double sqrt(double <number>) decimal sqrt(decimal <number>) - Deskripsi
Menghitung akar kuadrat dari number.
- Parameter
number: wajib. Jika nilai input bertipe DOUBLE atau DECIMAL, nilainya harus lebih besar dari 0. Jika tidak, pengecualian akan dikembalikan. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 2.0. sqrt(4);
TAN
- Sintaksis
double tan(double <number>) decimal tan(decimal <number>) - Deskripsi
Menghitung tangen dari number, yang merupakan nilai radian.
- Parameter
number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah -6.405331196646276. tan(30);
TANH
- Sintaksis
double tanh(double <number>) decimal tanh(decimal <number>) - Deskripsi
Menghitung tangen hiperbolik dari number.
- Parameter
number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
- Contoh
-- Nilai kembali adalah 1.0. tanh(30);
TRUNC
- Sintaksis
double trunc(double <number>[, bigint <decimal_places>]) decimal trunc(decimal <number>[, bigint <decimal_places>]) - Deskripsi
Memotong nilai input dari number ke tempat desimal tertentu.
- Parameter
- number: wajib. Nilai bertipe DOUBLE atau DECIMAL. Jika nilai input bertipe STRING atau BIGINT, maka akan diubah secara implisit menjadi nilai bertipe DOUBLE sebelum perhitungan. Jika nilai input bertipe data lainnya, kesalahan akan dikembalikan.
- decimal_places: opsional. Nilainya adalah konstanta bertipe BIGINT. Parameter ini menentukan posisi di mana angka dipotong. Jika nilainya bertipe data lainnya, maka akan diubah menjadi nilai bertipe BIGINT. Jika parameter ini tidak ditentukan, angka dipotong ke satuan terdekat.null decimal_places bisa bernilai negatif, yang menunjukkan bahwa angka dipotong dari titik desimal ke kiri dan bagian desimal diabaikan. Jika decimal_places melebihi panjang bagian integer, 0 dikembalikan.
- Nilai Kembali
Nilai bertipe DOUBLE atau DECIMAL dikembalikan. Jika parameter input disetel ke null, null akan dikembalikan.
null- Jika nilai bertipe DOUBLE dikembalikan, nilai kembali mungkin tidak ditampilkan dengan benar. Masalah ini ada di semua sistem. Untuk informasi lebih lanjut, lihat
trunc(125.815,1)dalam contoh ini. - Angka diisi dengan nol dari posisi tertentu.
- Jika nilai bertipe DOUBLE dikembalikan, nilai kembali mungkin tidak ditampilkan dengan benar. Masalah ini ada di semua sistem. Untuk informasi lebih lanjut, lihat
- Contoh
-- Nilai kembali adalah 125.0. trunc(125.815,0); -- Nilai kembali adalah 125.80000000000001. trunc(125.815,1); -- Nilai kembali adalah 125.81. trunc(125.815,2); -- Nilai kembali adalah 125.815. trunc(125.815,3); -- Nilai kembali adalah -125.81. trunc(-125.815,2); -- Nilai kembali adalah 120.0. trunc(125.815,-1); -- Nilai kembali adalah 100.0. trunc(125.815,-2); -- Nilai kembali adalah 0.0. trunc(125.815,-3); -- Nilai kembali adalah 123.345. trunc(123.345,4); -- Nilai kembali adalah 0.0. trunc(123.345,-4);
HEX
- Sintaksis
string hex(bigint <number>) string hex(string <number>) string hex(binary <number>) - Deskripsi
Mengonversi bilangan bulat atau string menjadi bilangan heksadesimal.
- Parameter
number: wajib. Jika number bertipe BIGINT, bilangan heksadesimal number dikembalikan. Jika number bertipe STRING, string dalam format heksadesimal dikembalikan.
- Nilai Kembali
- Jika nilai input bukan 0 atau null, nilai bertipe STRING dikembalikan.
- Jika nilai input adalah 0, 0 dikembalikan.
- Jika nilai input disetel ke null, kesalahan dikembalikan.
- Contoh
-- Nilai kembali adalah 0. hex(0); -- Nilai kembali adalah 616263. hex('abc'); -- Nilai kembali adalah 11. hex(17); -- Nilai kembali adalah 3137. hex('17'); -- Kesalahan dikembalikan. hex(null);
UNHEX
- Sintaksis
binary unhex(string <number>) - Deskripsi
Mengonversi string heksadesimal menjadi string.
- Parameter
number: wajib. Nilainya adalah string heksadesimal.
- Nilai Kembali
Nilai bertipe BINARY dikembalikan. Jika nilai input adalah 0, kesalahan dikembalikan. Jika parameter input disetel ke null, null dikembalikan.
- Contoh
-- Nilai kembali adalah abc unhex('616263'); -- Nilai kembali adalah abc. unhex(616263);
PI
- Sintaksis
double pi() - Deskripsi
Menghitung nilai π.
- Nilai Kembali
Nilai bertipe DOUBLE dikembalikan.
- Contoh
-- Nilai kembali adalah 3.141592653589793. pi();