All Products
Search
Document Center

IoT Platform:Fungsi matematika

Last Updated:Jun 21, 2025

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.

FungsiDeskripsi
ABSMenghitung nilai absolut.
ASINMenghitung arcsinus.
COSMenghitung kosinus.
COSHMenghitung kosinus hiperbolik.
CEILMembulatkan angka ke atas dan mengembalikan bilangan bulat terdekat.
EXPMenghitung nilai eksponensial.
FLOORMembulatkan angka ke bawah dan mengembalikan bilangan bulat terdekat.
LOGMenghitung logaritma.
POWMenghitung pangkat ke-n dari suatu nilai.
RANDMengembalikan angka acak.
ROUNDMengembalikan nilai yang dibulatkan ke tempat desimal tertentu.
SINMenghitung sinus.
SINHMenghitung sinus hiperbolik.
SQRTMenghitung akar kuadrat.
TANMenghitung tangen.
TANHMenghitung tangen hiperbolik.
TRUNCMemotong nilai input ke tempat desimal tertentu.
HEXMengonversi bilangan bulat atau string menjadi bilangan heksadesimal.
PIMenghitung nilai π.
UNHEXMengonversi 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.
  • 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();