In PostgreSQL, il ceiling()
La funzione viene utilizzata per arrotondare un numero per eccesso all'intero più vicino.
È simile a round()
, tranne per il fatto che arrotonda solo per eccesso. Il round()
la funzione arrotonda per eccesso o giù come richiesto.
È anche simile a floor()
, tranne che floor()
arrotonda per difetto invece di su.
Sintassi
Il ceiling()
la funzione può essere utilizzata in uno dei seguenti modi:
ceil(dp or numeric)
ceiling(dp or numeric)
Dove dp
indica double precision
.
Il tipo restituito è lo stesso del tipo di input.
Entrambe le sintassi funzionano esattamente allo stesso modo. La prima sintassi è semplicemente un modo più conciso per farlo.
Esempio
Ecco un esempio per dimostrarne l'utilizzo.
SELECT ceiling(12.10);
Risultato:
13
In questo caso i secondi frazionari sono 10 e il numero viene arrotondato per eccesso all'intero più vicino.
Probabilmente è ovvio, ma se aumento i secondi frazionari a 50, lo arrotonda comunque per eccesso.
SELECT ceiling(12.70);
Risultato:
13
Numeri negativi
Ecco un esempio che utilizza numeri negativi.
SELECT
ceiling(-12.10),
ceiling(-12.90);
Risultato:
ceiling | ceiling ---------+--------- -12 | -12
Ceil() vs Ceiling()
Come accennato, ceil()
e ceiling()
sono equivalenti.
Ecco un esempio che mostra entrambe le sintassi affiancate.
SELECT
ceil(12.10),
ceiling(12.10);
Risultato:
ceil | ceiling ------+--------- 13 | 13
Soffitto() vs Round()
Se avessi usato round()
, il 12.10
il valore sarebbe stato arrotondato per difetto (perché i secondi frazionari sono inferiori a 50).
Ecco un esempio che illustra la differenza tra ceiling()
e round()
.
SELECT
ceiling(12.10),
round(12.10);
Risultato:
ceiling | round ---------+------- 13 | 12
Tuttavia, se aumento i secondi frazionari a 50, entrambi restituiscono lo stesso risultato.
SELECT
ceiling(12.50),
round(12.50);
Risultato:
ceiling | round ---------+------- 13 | 13
Soffitto() vs Pavimento()
Postgres ha anche un floor()
funzione, che è simile a ceiling()
tranne per il fatto che arrotonda sempre il numero per difetto .
Ecco un esempio che mostra entrambe le sintassi affiancate.
SELECT
ceiling(12.80),
floor(12.80);
Risultato:
ceiling | floor ---------+------- 13 | 12
Ed ecco un esempio che utilizza valori negativi.
SELECT
ceiling(-12.30),
floor(-12.30);
Risultato:
ceiling | floor ---------+------- -12 | -13