sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan fungerer Ceiling() i PostgreSQL

I PostgreSQL er ceiling() funktion bruges til at runde et tal op til det nærmeste heltal.

Det ligner round() , bortset fra at det kun runder op. round() funktionen runder eller op ned efter behov.

Det ligner også floor() , bortset fra at floor() runder ned i stedet for op.

Syntaks

ceiling() funktionen kan bruges på en af ​​følgende måder:

ceil(dp or numeric)
ceiling(dp or numeric)

Hvor dp angiver double precision .

Returtypen er den samme som inputtypen.

Begge syntakser fungerer nøjagtigt det samme. Den første syntaks er simpelthen en mere kortfattet måde at gøre det på.

Eksempel

Her er et eksempel for at demonstrere dets brug.

SELECT ceiling(12.10);

Resultat:

13

I dette tilfælde er brøksekunderne 10, og tallet rundes op til nærmeste heltal.

Det siger nok sig selv, men hvis jeg øger brøksekunderne til 50, runder det stadig op.

SELECT ceiling(12.70);

Resultat:

13

Negative tal

Her er et eksempel, der bruger negative tal.

SELECT 
  ceiling(-12.10),
  ceiling(-12.90);

Resultat:

 ceiling | ceiling
---------+---------
     -12 | -12

Ceil() vs Ceiling()

Som nævnt, ceil() og ceiling() er ækvivalente.

Her er et eksempel, der viser begge syntakser side om side.

SELECT 
  ceil(12.10),
  ceiling(12.10);

Resultat:

 ceil | ceiling
------+---------
   13 | 13

Ceiling() vs Round()

Hvis jeg havde brugt round() , 12.10 værdien ville være blevet rundet ned (fordi brøksekunderne er mindre end 50).

Her er et eksempel, der illustrerer forskellen mellem ceiling() og round() .

SELECT 
  ceiling(12.10),
  round(12.10);

Resultat:

 ceiling | round
---------+-------
      13 | 12

Men hvis jeg øger brøksekunderne til 50, returnerer de begge det samme resultat.

SELECT 
  ceiling(12.50),
  round(12.50);

Resultat:

 ceiling | round
---------+-------
      13 | 13

Ceiling() vs Floor()

Postgres har også en floor() funktion, som ligner ceiling() bortset fra at det altid runder tallet ned .

Her er et eksempel, der viser begge syntakser side om side.

SELECT 
  ceiling(12.80),
  floor(12.80);

Resultat:

 ceiling | floor
---------+-------
      13 | 12

Og her er et eksempel, der bruger negative værdier.

SELECT 
  ceiling(-12.30),
  floor(-12.30);

Resultat:

 ceiling | floor
---------+-------
     -12 | -13


  1. SQL SERVER – SQL_NO_CACHE og OPTION (GENKOMPILER)

  2. postgreSQL - i vs enhver

  3. Sådan tjekker du din sessions ANSI_NULLS-indstilling i SQL Server

  4. Driver.getConnection hænger ved hjælp af SQLServer-driver og Java 1.6.0_29