Funzioni matematiche
Sono previste funzioni matematiche.
Funzioni trigonometriche
La tabella seguente descrive le funzioni trigonometriche fornite.
| Funzione | Tipo di dati in ingresso | Tipo di dati di output | Descrizione |
|---|---|---|---|
acos(x) |
precisione doppia | precisione doppia | Coseno inverso. |
asin(x) |
precisione doppia | precisione doppia | Seno inverso. |
atan(x) |
precisione doppia | precisione doppia | Tangente inversa. |
atan2(x,y) |
precisione doppia | precisione doppia | Tangente inversa di x/y. |
cos(x) |
precisione doppia | precisione doppia | Coseno. |
cot(x) |
precisione doppia | precisione doppia | Cotangente. |
degrees(x) |
precisione doppia | precisione doppia | Convertire i radianti in gradi. |
pi() |
(nessuno) | precisione doppia | Pi greco (rapporto tra circonferenza e diametro). |
radians(x) |
precisione doppia | precisione doppia | Convertire i gradi in radianti. |
sin(x) |
precisione doppia | precisione doppia | Seno. |
tan(x) |
precisione doppia | precisione doppia | Tangente. |
Funzioni di numeri casuali
La tabella seguente descrive le funzioni di numero casuale fornite.
| Funzione | Tipo di dati in ingresso | Tipo di dati di output | Descrizione | Esempio | Risultato |
|---|---|---|---|---|---|
random() |
(nessuno) | precisione doppia | Valore casuale superiore a 0 e inferiore a 1. | random() |
0.27116098407244 |
setseed(x) |
(nessuno) | Impostare il seme per la funzione 'random(). |
setseed(0.548) |
(codice di ritorno) |
Funzioni numeriche
La tabella seguente descrive le funzioni numeriche fornite.
| Funzione | Tipo di dati in ingresso | Tipo di dati di output | Descrizione | Esempio | Risultato |
|---|---|---|---|---|---|
n! |
byteint, smallint, integer, bigint | int8 | Fattoriale del numero intero n: |
5! |
120 |
abs(x) |
byteint, smallint, integer, bigint, double precision, real, numeric | come x | Valore assoluto. | abs (-17.4) |
17.4 |
ceil(x) |
numerico | numerico | Il più piccolo numero intero non inferiore a x | ceil (-42.8) |
-42 |
dceil(x) |
precisione doppia | precisione doppia | Il più piccolo numero intero non inferiore a x | dceil (42.8) |
43 |
dfloor(x) |
precisione doppia | precisione doppia | Il più grande intero non superiore all'argomento | floor(42.8) |
42 |
exp(x) |
doppia precisione, numerico | come x | Esponenziale. | exp(1.0) |
2.71828182845905 |
floor(x) |
numerico | numerico | il più grande intero non superiore all'argomento | floor(-42.8) |
-43 |
fpow(a,b) |
numero reale | numero reale | a elevato alla potenza di b | pow(9.0, 3.0) |
729 |
ln(x) |
precisione doppia | doppio | logaritmo naturale | ln(2.0) |
0.693147180559945 |
log(x) |
numerico | numerico | logaritmo in base 10 | log(100.0) |
2 |
mod(x,y) |
doppia precisione, reale, numerico, byteint, smallint, intero, bigint | Se il tipo di x o y è a doppia precisione o reale, il tipo di uscita è a doppia precisione; altrimenti, se x o y è numerico, l'uscita è numerica; altrimenti, x e y sono numeri interi e il tipo di dati di uscita è il più ampio dei due tipi di dati di ingresso | Calcola il resto di x/y | mod(9,4) |
1 |
numeric_sqrt(x) |
numerico | numerico | radice quadrata | numeric_sqrt(2) |
1.4142 |
pow(a,b) |
precisione doppia | DP | a elevato alla potenza di b | pow(9.0, 3.0) |
729 |
round(x) |
doppia precisione, numerico | Uguale all'input | arrotondare al numero intero più vicino | round(42.4) |
42 |
round(v,n) |
v è numerico, n è byteint, smallint, integer, bigint | numerico | arrotondare a s cifre decimali | round(2.4382,2) |
2.44 |
sign(x) |
numerico | numerico | segno dell'argomento(-1,0,+1) | sign(-8.4) |
-1 |
sqrt(x) |
precisione doppia | doppio | radice quadrata | sqrt(2.0) |
1.4142135623731 |
trunc(x) |
doppia precisione, numerico | Uguale all'input | troncare verso lo zero | trunc(42.8) |
42 |
trunc(v,n) |
v è numerico, n è byteint, smallint, integer, bigint | numerico | troncare a s cifre decimali | trunc(2.4382,2) |
2.43 |
Nota: il risultato della funzione '
pow deve essere contenuto in un FLOAT8 (un valore in virgola mobile a doppia precisione). Un FLOAT8 può contenere valori positivi o negativi di grandezza compresa tra 1.798 x 10308 e 4.941 x 10-324(circa).Funzioni matematiche binarie
La tabella seguente descrive le funzioni matematiche binarie disponibili.
In ogni funzione, il segnaposto N rappresenta la dimensione del tipo di dati interi su cui la funzione opera e restituisce:
| Funzione | Descrizione | Esempio | Risultato |
|---|---|---|---|
intNand(x,y) |
AND bitwise di x e y. | int2and(3,6) |
2 (smallint) |
intNor(x,y) |
OR bitwise di x e y. | int1or(3,6) |
7 (byteint) |
intNxor(x,y) |
OR esclusivo bitwise di x e y. | int8xor(3,6) |
5 (bigint) |
intNnot(x) |
Bitwise NOT di x. | int4xor(3) |
--4 (intero) |
intNshl(x,y
[,z]) |
AND bitwise di x e z (se specificato), quindi spostamento a sinistra di y bit (spostamento a sinistra, con maschera opzionale). | int2shl(3,1,6) |
4 (smallint) |
intNshr(x,y
[,z]) |
AND bitwise di x e z (se specificato), quindi spostamento a destra di y bit (spostamento a destra, con maschera opzionale). | int2shr(3,1,6) |
1 (smallint) |
- 1
- byteint (alias int1 )
- 2
- smallint (alias int2 )
- 4
- intero (alias int o int4)
- 8
- bigint (alias int8 )