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

Hvordan Trunc() virker i PostgreSQL

I PostgreSQL er trunc() funktion afkorter et tal.

Mere specifikt afkorter det tallet enten mod nul eller til et bestemt antal decimaler.

Syntaks

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

trunc(dp or numeric)
trunc(v numeric, s int) 

Den første syntaks afkorter tallet mod nul.

Den anden syntaks afkorter den til et bestemt antal decimaler. I dette tilfælde v er nummeret og s er antallet af decimaler.

Eksempel på første syntaks

Her er et eksempel, der bruger den første syntaks.

SELECT trunc(342.49); 

Resultat:

342

Eksempel på anden syntaks

Her er et eksempel, der bruger den anden syntaks.

SELECT trunc(342.49, 1); 

Resultat:

342.4

Tilføjelse af brøkdele sekunder

Her er et eksempel på at angive et antal decimaler, når tallet ikke inkluderer nogen.

SELECT trunc(342, 3); 

Resultat:

342.000

Negative tal

Her er et eksempel, der bruger et negativt tal.

SELECT round(-4.5); 

Resultat:

-5

Negative decimaler

Her er, hvad der sker, når det andet argument er en negativ værdi.

SELECT trunc(342, -2); 

Resultat:

300

Trunc() vs Round()

I nogle tilfælde er trunc() funktionen kan se ud til at virke på samme måde som round() . Men det er ret forskellige funktioner.

round() funktion runder tallet. Tallet afrundes til nærmeste heltal eller til det angivne antal decimaler (afhængigt af om du giver det et argument eller to argumenter).

trunc() funktion på den anden side afkorter simpelthen tallet mod nul eller til den angivne decimal. Der udføres ingen afrunding.

Her er et eksempel for at vise forskellen.

SELECT 
  round(342.49, 1),
  trunc(342.49, 1); 

Resultat:

runde | trunc-------+-------342,5 | 342.4
  1. Oracle SQL PIVOT-tabel

  2. Hvad er formålet med datareplikering?

  3. PostgreSQL-kontrolbegrænsning for fremmednøgletilstand

  4. Forskellen mellem datetime og timestamp i sqlserver?