sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur Floor() fungerar i PostgreSQL

I PostgreSQL, floor() funktion används för att avrunda ett tal nedåt till närmaste heltal.

Det är i princip motsatsen till ceiling() , vilket avrundar ett nummer uppåt .

Det liknar också round() , förutom att det bara avrundas nedåt. round() funktionen kommer att runda upp eller ner efter behov.

Syntax

Syntaxen ser ut så här:

floor(dp or numeric)

Där dp indikerar double precision .

Returtypen är densamma som inmatningstypen.

Exempel

Här är ett exempel för att demonstrera dess användning.

SELECT floor(3.99);

Resultat:

3

I det här fallet är bråksekunderna 99 och talet avrundas nedåt till närmaste heltal.

Inte överraskande får jag samma resultat om jag minskar antalet bråkdelar för att säga 15.

SELECT floor(3.15);

Resultat:

3

Negativa tal

Här är ett exempel som använder negativa tal.

SELECT 
  floor(-3.99),
  floor(-3.15);

Resultat:

 floor | floor
-------+-------
    -4 | -4

Floor() vs Round()

Här är ett exempel som illustrerar skillnaden mellan floor() och round() .

SELECT 
  floor(3.99),
  round(3.99);

Resultat:

 floor | round
-------+-------
     3 | 4

Men om jag minskar bråksekunderna till under 50, ger de båda samma resultat.

SELECT 
  floor(3.49),
  round(3.49);

Resultat:

 floor | round
-------+-------
     3 | 3

Golv() vs Ceiling()

Postgres har också en ceiling() funktion, som liknar floor() förutom att det alltid avrundar siffran upp .

Här är ett exempel som visar båda syntaxerna sida vid sida.

SELECT 
  ceiling(12.80),
  floor(12.80);

Resultat:

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

Och här är ett exempel som använder negativa värden.

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

Resultat:

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

  1. Hur man formaterar siffror med kommatecken i MySQL

  2. Hur man importerar en DBF-fil i SQL Server

  3. Rekursiv fråga i SQL Server

  4. anpassa personsökare i psql