Hologres aşağıdaki matematiksel işlevleri destekler. Burada listelenmeyen işlevler için PostgreSQL 11 belgelerindeki Matematiksel İşlevler ve Operatörler konusuna bakın.
Bu konudaki örnek çıktılar, psql istemcisinin varsayılan görüntüleme hassasiyetini (extra_float_digits = 0) kullanır. Kayan noktalı sonuçlar için gösterilen basamak sayısı, istemcinin extra_float_digits ayarına göre değişir; ancak temel değerler aynıdır.
Yaygın matematiksel işlevler
| İşlev | Açıklama |
|---|---|
| ABS | Bir sayının mutlak değerini döndürür. |
| CBRT | Bir sayının küp kökünü döndürür. |
| CEIL | Bir sayıyı yukarıya doğru en yakın tam sayıya yuvarlar. CEILING işlevinin diğer adıdır. |
| CEILING | Bir sayıyı yukarıya doğru en yakın tam sayıya yuvarlar. CEIL işlevinin diğer adıdır. |
| DEGREES | Radyanı dereceye dönüştürür. |
| EXP | e sayısının bir sayı kuvvetini (e^num) döndürür. |
| FLOOR | Bir sayıyı aşağıya doğru en yakın tam sayıya yuvarlar. |
| LN | Bir sayının doğal logaritmasını döndürür. |
| LOG | Bir sayının 10 tabanındaki logaritmasını döndürür. |
| MOD | Bir sayının başka bir sayıya bölümünden kalanı döndürür. |
| PI | π (1358934) değerini döndürür. |
| POWER | a'nın b kuvvetini döndürür. |
| RADIANS | Dereceyi radyana dönüştürür. |
| RANDOM | [0,0, 1,0) aralığında rastgele bir sayı döndürür. |
| ROUND | Bir sayıyı en yakın tam sayıya veya belirtilen ondalık basamak sayısına yuvarlar. |
| SIGN | Bir sayının işaretini döndürür: 1, -1 veya 0. |
| SQRT | Bir sayının karekökünü döndürür. |
| TRUNC | Bir sayıyı bir tam sayıya veya belirtilen ondalık basamak sayısına kırpma yapar. |
| WIDTH_BUCKET | Bir değeri eşit genişlikli paketlerden birine atar ve paket numarasını döndürür. |
Trigonometrik işlevler
| İşlev | Açıklama |
|---|---|
| ACOS | Bir sayının ark kosinüsünü döndürür. |
| ASIN | Bir sayının ark sinüsünü döndürür. |
| ATAN | Bir sayının ark tanjantını döndürür. |
| ATAN2 | y/x'in ark tanjantını döndürür. |
| COS | Bir sayının kosinüsünü döndürür. |
| COT | Bir sayının kotanjantını döndürür. |
| SIN | Bir sayının sinüsünü döndürür. |
| TAN | Bir sayının tanjantını döndürür. |
ABS
Bir sayının mutlak değerini döndürür.
Sözdizimi
ABS(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | INT, BIGINT, REAL, DOUBLE PRECISION, NUMERIC veya DECIMAL | Giriş sayısı. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT ABS(-17.4);
abs
-----
17.4
CBRT
Bir sayının küp kökünü döndürür.
Sözdizimi
CBRT(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Giriş sayısı. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT CBRT(9);
cbrt
-----------------
2.0800838230519
CEIL
Bir sayıyı yukarıya doğru en yakın tam sayıya yuvarlar. CEIL, CEILING işlevinin diğer adıdır.
Sözdizimi
CEIL(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC | Giriş sayısı. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT CEIL(9.2);
ceil
------
10
Ayrıca bakın
CEILING
Bir sayıyı yukarıya doğru en yakın tam sayıya yuvarlar. CEILING, CEIL işlevinin diğer adıdır.
Sözdizimi
CEILING(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC | Giriş sayısı. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT CEILING(9.2);
ceiling
---------
10
Ayrıca bakın
DEGREES
Radyan cinsinden bir değeri dereceye dönüştürür.
Sözdizimi
DEGREES(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Radyan cinsinden giriş değeri. |
Dönüş değeri
Derece cinsinden eşdeğer açıyı temsil eden DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT DEGREES(3.2);
degrees
--------------
183.34649444186343
Ayrıca bakın
EXP
e sayısının num kuvvetini (e^num) döndürür.
Sözdizimi
EXP(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC | Üs. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT EXP(1);
exp
----------------
2.718281828459045
FLOOR
Bir sayıyı aşağıya doğru en yakın tam sayıya yuvarlar.
Sözdizimi
FLOOR(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC | Giriş sayısı. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT FLOOR(3.8);
floor
------
3
Ayrıca bakın
LN
Bir sayının doğal logaritmasını döndürür.
Sözdizimi
LN(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC | Giriş sayısı. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT LN(3.8);
ln
----------------
1.3350010667323401
LOG
Bir sayının 10 tabanındaki logaritmasını döndürür.
Sözdizimi
LOG(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC | Giriş sayısı. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT LOG(100);
log
-----
2
MOD
num değerinin x değerine bölümünden kalanı döndürür.
Sözdizimi
MOD(num, x)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | NUMERIC | Bölünen. |
x |
Evet | NUMERIC | Bölen. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT MOD(9, 4);
mod
-----
1
PI
π değerini döndürür.
Sözdizimi
PI()
Dönüş değeri
3.14159265358979 DOUBLE PRECISION değerini döndürür.
Örnek
SELECT PI();
pi
------------------
3.14159265358979
POWER
a değerinin b kuvvetini döndürür.
Sözdizimi
POWER(a, b)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
a |
Evet | DOUBLE PRECISION | Taban. |
b |
Evet | DOUBLE PRECISION | Üs. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT POWER(9, 3);
power
-------
729
RADIANS
Derece cinsinden bir değeri radyana dönüştürür.
Sözdizimi
RADIANS(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Derece cinsinden giriş değeri. |
Dönüş değeri
Radyan cinsinden eşdeğer açıyı temsil eden DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT RADIANS(45);
radians
-------------------
0.785398163397448
Ayrıca bakın
RANDOM
[0,0, 1,0) aralığında rastgele bir DOUBLE PRECISION değeri döndürür.
Sözdizimi
RANDOM()
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür. Geçerli değerler: [0.0, 1.0).
Örnek
SELECT RANDOM();
random
-------------------
0.377819478977472
ROUND
Bir sayıyı en yakın tam sayıya veya belirtilen ondalık basamak sayısına yuvarlar.
Sözdizimi
-- Round to the nearest integer
ROUND(num)
-- Round to s decimal places
ROUND(num, s)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC (tek bağımsız değişkenli form); yalnızca NUMERIC (iki bağımsız değişkenli form) | Giriş sayısı. |
s |
Hayır | INT | Yuvarlanacak ondalık basamak sayısı. |
Dönüş değeri
num ile aynı türde bir değer döndürür.
Örnek
SELECT ROUND(42.4);
round
-------
42
Ayrıca bakın
SIGN
Bir sayının işaretini döndürür: Pozitif ise 1, negatif ise -1, sıfır ise 0.
Sözdizimi
SIGN(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC | Giriş sayısı. |
Dönüş değeri
1, -1 veya 0 döndürür.
Örnek
SELECT SIGN(-8.4);
sign
------
-1
SQRT
Bir sayının karekökünü döndürür.
Sözdizimi
SQRT(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION veya NUMERIC | Giriş sayısı. |
Dönüş değeri
Girişle aynı türde bir değer döndürür.
Örnek
SELECT SQRT(2);
sqrt
-----------------
1.4142135623731
TRUNC
Bir sayıyı sıfıra doğru kırpma yapar ve kesirli basamakları atar.
Sözdizimi
-- Truncate to an integer
TRUNC(num)
-- Truncate to s decimal places
TRUNC(num, s)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | NUMERIC | Giriş sayısı. |
s |
Hayır | INT | Korunacak ondalık basamak sayısı. |
Dönüş değeri
NUMERIC türünde bir değer döndürür.
Örnek
SELECT TRUNC(2.456);
trunc
-------
2
SELECT TRUNC(2.4564, 2);
trunc
-------
2.45
Ayrıca bakın
WIDTH_BUCKET
Bir aralığı eşit genişlikli paketlere böler ve bir değerin düştüğü paket numarasını döndürür.
Sözdizimi
WIDTH_BUCKET(value, start, end, num_buckets)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
value |
Evet | DOUBLE PRECISION veya NUMERIC | Pakete atanacak değer. |
start |
Evet | DOUBLE PRECISION veya NUMERIC | Aralığın alt sınırı. |
end |
Evet | DOUBLE PRECISION veya NUMERIC | Aralığın üst sınırı. |
num_buckets |
Evet | INT | Oluşturulacak eşit genişlikli paket sayısı. |
Dönüş değeri
INT türünde bir değer döndürür.
Örnek
Aşağıdaki örnek, 0–100 aralığını 5 eşit pakete (0–20, 20–40, 40–60, 60–80, 80–100) böler ve 45 değeri için paket numarasını döndürür.
SELECT WIDTH_BUCKET(45, 0, 100, 5);
width_bucket
--------------
3
45 değeri 3 numaralı pakete (40–60 aralığı) düşer.
ACOS
num değerinin ark kosinüsünü döndürür.
Sözdizimi
ACOS(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | NUMERIC | Giriş değeri. Geçerli değerler: [-1, 1]. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT ACOS(-1);
acos
------------------
3.14159265358979
Ayrıca bakın
ASIN
num değerinin ark sinüsünü döndürür.
Sözdizimi
ASIN(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Giriş değeri. Geçerli değerler: [-1, 1]. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT ASIN(-1);
asin
------------------
-1.5707963267949
Ayrıca bakın
ATAN
num değerinin ark tanjantını döndürür.
Sözdizimi
ATAN(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Giriş değeri. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT ATAN(2);
atan
------------------
1.10714871779409
Ayrıca bakın
ATAN2
y/x değerinin ark tanjantını döndürür; doğru çeyreği belirlemek için her iki bağımsız değişkenin işaretini kullanır.
Sözdizimi
ATAN2(y, x)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
y |
Evet | DOUBLE PRECISION | y koordinatı. |
x |
Evet | DOUBLE PRECISION | x koordinatı. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT ATAN2(4, 2);
atan2
------------------
1.10714871779409
Ayrıca bakın
COS
num değerinin kosinüsünü döndürür (giriş radyan cinsindendir).
Sözdizimi
COS(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Radyan cinsinden giriş açısı. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT COS(2);
cos
--------------------
-0.416146836547142
Ayrıca bakın
COT
num değerinin kotanjantını döndürür (giriş radyan cinsindendir).
Sözdizimi
COT(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Radyan cinsinden giriş açısı. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT COT(2);
cot
--------------------
-0.457657554360286
Ayrıca bakın
SIN
num değerinin sinüsünü döndürür (giriş radyan cinsindendir).
Sözdizimi
SIN(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Radyan cinsinden giriş açısı. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT SIN(2);
sin
-------------------
0.909297426825682
Ayrıca bakın
TAN
num değerinin tanjantını döndürür (giriş radyan cinsindendir).
Sözdizimi
TAN(num)
Parametreler
| Parametre | Zorunlu | Tür | Açıklama |
|---|---|---|---|
num |
Evet | DOUBLE PRECISION | Radyan cinsinden giriş açısı. |
Dönüş değeri
DOUBLE PRECISION türünde bir değer döndürür.
Örnek
SELECT TAN(2);
tan
-------------------
-2.18503986326152
Ayrıca bakın