Hologres mendukung fungsi matematika berikut. Untuk fungsi yang tidak tercantum di sini, lihat Mathematical Functions and Operators dalam dokumentasi PostgreSQL 11.
Contoh keluaran dalam topik ini menggunakan presisi tampilan default klien psql (extra_float_digits = 0). Jumlah digit yang ditampilkan untuk hasil floating-point bervariasi tergantung pengaturan extra_float_digits pada klien; nilai dasarnya tetap sama.
Fungsi matematika umum
| Function | Description |
|---|---|
| ABS | Mengembalikan nilai absolut suatu bilangan. |
| CBRT | Mengembalikan akar pangkat tiga suatu bilangan. |
| CEIL | Membulatkan bilangan ke atas ke bilangan bulat terdekat. Alias dari CEILING. |
| CEILING | Membulatkan bilangan ke atas ke bilangan bulat terdekat. Alias dari CEIL. |
| DEGREES | Mengonversi radian ke derajat. |
| EXP | Mengembalikan e dipangkatkan dengan suatu bilangan (e^num). |
| FLOOR | Membulatkan bilangan ke bawah ke bilangan bulat terdekat. |
| LN | Mengembalikan logaritma natural suatu bilangan. |
| LOG | Mengembalikan logaritma basis-10 suatu bilangan. |
| MOD | Mengembalikan sisa bagi setelah membagi satu bilangan dengan bilangan lain. |
| PI | Mengembalikan nilai π (3.14159265358979). |
| POWER | Mengembalikan a dipangkatkan dengan b. |
| RADIANS | Mengonversi derajat ke radian. |
| RANDOM | Mengembalikan bilangan acak dalam [0.0, 1.0). |
| ROUND | Membulatkan bilangan ke bilangan bulat terdekat atau ke jumlah tempat desimal tertentu. |
| SIGN | Mengembalikan tanda suatu bilangan: 1, -1, atau 0. |
| SQRT | Mengembalikan akar kuadrat suatu bilangan. |
| TRUNC | Memotong bilangan menjadi bilangan bulat atau ke jumlah tempat desimal tertentu. |
| WIDTH_BUCKET | Menetapkan suatu nilai ke salah satu bucket berlebar sama dan mengembalikan nomor bucket tersebut. |
Fungsi trigonometri
| Function | Description |
|---|---|
| ACOS | Mengembalikan arccosinus suatu bilangan. |
| ASIN | Mengembalikan arcsinus suatu bilangan. |
| ATAN | Mengembalikan arctangen suatu bilangan. |
| ATAN2 | Mengembalikan arctangen dari y/x. |
| COS | Mengembalikan cosinus suatu bilangan. |
| COT | Mengembalikan cotangen suatu bilangan. |
| SIN | Mengembalikan sinus suatu bilangan. |
| TAN | Mengembalikan tangen suatu bilangan. |
ABS
Mengembalikan nilai absolut suatu bilangan.
Syntax
ABS(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | INT, BIGINT, REAL, DOUBLE PRECISION, NUMERIC, atau DECIMAL | Bilangan input. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT ABS(-17.4); abs
-----
17.4
CBRT
Mengembalikan akar pangkat tiga suatu bilangan.
Syntax
CBRT(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Bilangan input. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT CBRT(9); cbrt
-----------------
2.0800838230519
CEIL
Membulatkan bilangan ke atas ke bilangan bulat terdekat. CEIL merupakan alias dari CEILING.
Syntax
CEIL(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC | Bilangan input. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT CEIL(9.2); ceil
------
10
See also
CEILING
Membulatkan bilangan ke atas ke bilangan bulat terdekat. CEILING merupakan alias dari CEIL.
Syntax
CEILING(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC | Bilangan input. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT CEILING(9.2); ceiling
---------
10
See also
DEGREES
Mengonversi nilai dalam radian ke derajat.
Syntax
DEGREES(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Nilai input dalam radian. |
Return value
Mengembalikan nilai DOUBLE PRECISION yang merepresentasikan sudut ekuivalen dalam derajat.
Example
SELECT DEGREES(3.2); degrees
--------------
183.34649444186343
See also
EXP
Mengembalikan e dipangkatkan dengan num (e^num).
Syntax
EXP(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC | Eksponen. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT EXP(1); exp
----------------
2.718281828459045
FLOOR
Membulatkan bilangan ke bawah ke bilangan bulat terdekat.
Syntax
FLOOR(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC | Bilangan input. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT FLOOR(3.8); floor
------
3
See also
LN
Mengembalikan logaritma natural suatu bilangan.
Syntax
LN(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC | Bilangan input. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT LN(3.8); ln
----------------
1.3350010667323401
LOG
Mengembalikan logaritma basis-10 suatu bilangan.
Syntax
LOG(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC | Bilangan input. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT LOG(100); log
-----
2
MOD
Mengembalikan sisa bagi setelah membagi num dengan x.
Syntax
MOD(num, x)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | NUMERIC | Dividen. |
x |
Yes | NUMERIC | Pembagi. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT MOD(9, 4); mod
-----
1
PI
Mengembalikan nilai π.
Syntax
PI()
Return value
Mengembalikan nilai DOUBLE PRECISION 3.14159265358979.
Example
SELECT PI(); pi
------------------
3.14159265358979
POWER
Mengembalikan a dipangkatkan dengan b.
Syntax
POWER(a, b)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
a |
Yes | DOUBLE PRECISION | Basis. |
b |
Yes | DOUBLE PRECISION | Eksponen. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT POWER(9, 3); power
-------
729
RADIANS
Mengonversi nilai dalam derajat ke radian.
Syntax
RADIANS(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Nilai input dalam derajat. |
Return value
Mengembalikan nilai DOUBLE PRECISION yang merepresentasikan sudut ekuivalen dalam radian.
Example
SELECT RADIANS(45); radians
-------------------
0.785398163397448
See also
RANDOM
Mengembalikan nilai DOUBLE PRECISION acak dalam rentang [0.0, 1.0).
Syntax
RANDOM()
Return value
Mengembalikan nilai DOUBLE PRECISION. Nilai valid: [0.0, 1.0).
Example
SELECT RANDOM(); random
-------------------
0.377819478977472
ROUND
Membulatkan bilangan ke bilangan bulat terdekat atau ke jumlah tempat desimal tertentu.
Syntax
-- Bulatkan ke bilangan bulat terdekat
ROUND(num)
-- Bulatkan ke s tempat desimal
ROUND(num, s)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC (bentuk satu argumen); hanya NUMERIC (bentuk dua argumen) | Bilangan input. |
s |
No | INT | Jumlah tempat desimal yang akan dibulatkan. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti num.
Example
SELECT ROUND(42.4); round
-------
42
See also
SIGN
Mengembalikan tanda suatu bilangan: 1 jika positif, -1 jika negatif, atau 0 jika nol.
Syntax
SIGN(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC | Bilangan input. |
Return value
Mengembalikan 1, -1, atau 0.
Example
SELECT SIGN(-8.4); sign
------
-1
SQRT
Mengembalikan akar kuadrat suatu bilangan.
Syntax
SQRT(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION atau NUMERIC | Bilangan input. |
Return value
Mengembalikan nilai dengan tipe yang sama seperti input.
Example
SELECT SQRT(2); sqrt
-----------------
1.4142135623731
TRUNC
Memotong bilangan menuju nol dengan menghilangkan digit pecahan.
Syntax
-- Potong menjadi bilangan bulat
TRUNC(num)
-- Potong ke s tempat desimal
TRUNC(num, s)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | NUMERIC | Bilangan input. |
s |
No | INT | Jumlah tempat desimal yang dipertahankan. |
Return value
Mengembalikan nilai NUMERIC.
Example
SELECT TRUNC(2.456); trunc
-------
2SELECT TRUNC(2.4564, 2); trunc
-------
2.45
See also
WIDTH_BUCKET
Membagi rentang menjadi bucket berlebar sama dan mengembalikan nomor bucket tempat suatu nilai berada.
Syntax
WIDTH_BUCKET(value, start, end, num_buckets)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
value |
Yes | DOUBLE PRECISION atau NUMERIC | Nilai yang akan ditempatkan ke bucket. |
start |
Yes | DOUBLE PRECISION atau NUMERIC | Batas bawah rentang. |
end |
Yes | DOUBLE PRECISION atau NUMERIC | Batas atas rentang. |
num_buckets |
Yes | INT | Jumlah bucket berlebar sama yang akan dibuat. |
Return value
Mengembalikan nilai INT.
Example
Contoh berikut membagi rentang 0–100 menjadi 5 bucket sama besar (0–20, 20–40, 40–60, 60–80, 80–100) dan mengembalikan nomor bucket untuk nilai 45.
SELECT WIDTH_BUCKET(45, 0, 100, 5); width_bucket
--------------
3
Nilai 45 berada di bucket 3 (rentang 40–60).
ACOS
Mengembalikan arccosinus dari num.
Syntax
ACOS(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | NUMERIC | Nilai input. Nilai valid: [-1, 1]. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT ACOS(-1); acos
------------------
3.14159265358979
See also
ASIN
Mengembalikan arcsinus dari num.
Syntax
ASIN(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Nilai input. Nilai valid: [-1, 1]. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT ASIN(-1); asin
------------------
-1.5707963267949
See also
ATAN
Mengembalikan arctangen dari num.
Syntax
ATAN(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Nilai input. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT ATAN(2); atan
------------------
1.10714871779409
See also
ATAN2
Mengembalikan arctangen dari y/x, menggunakan tanda kedua argumen untuk menentukan kuadran yang tepat.
Syntax
ATAN2(y, x)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
y |
Yes | DOUBLE PRECISION | Koordinat y. |
x |
Yes | DOUBLE PRECISION | Koordinat x. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT ATAN2(4, 2); atan2
------------------
1.10714871779409
See also
COS
Mengembalikan cosinus dari num (input dalam radian).
Syntax
COS(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Sudut input dalam radian. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT COS(2); cos
--------------------
-0.416146836547142
See also
COT
Mengembalikan cotangen dari num (input dalam radian).
Syntax
COT(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Sudut input dalam radian. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT COT(2); cot
--------------------
-0.457657554360286
See also
SIN
Mengembalikan sinus dari num (input dalam radian).
Syntax
SIN(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Sudut input dalam radian. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT SIN(2); sin
-------------------
0.909297426825682
See also
TAN
Mengembalikan tangen dari num (input dalam radian).
Syntax
TAN(num)
Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
num |
Yes | DOUBLE PRECISION | Sudut input dalam radian. |
Return value
Mengembalikan nilai DOUBLE PRECISION.
Example
SELECT TAN(2); tan
-------------------
-2.18503986326152
See also