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