sql >> Databáze >  >> RDS >> PostgreSQL

Jak funguje Trunc() v PostgreSQL

V PostgreSQL je to trunc() funkce zkrátí číslo.

Přesněji řečeno, zkrátí číslo buď směrem k nule, nebo na určitý počet desetinných míst.

Syntaxe

trunc() funkci lze použít jedním z následujících způsobů:

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

První syntaxe zkrátí číslo směrem k nule.

Druhá syntaxe jej zkrátí na zadaný počet desetinných míst. V tomto případě v je číslo a s je počet desetinných míst.

Příklad první syntaxe

Zde je příklad, který používá první syntaxi.

SELECT trunc(342.49); 

Výsledek:

342

Příklad druhé syntaxe

Zde je příklad, který používá druhou syntaxi.

SELECT trunc(342.49, 1); 

Výsledek:

342,4

Přidání zlomků sekund

Zde je příklad zadání počtu desetinných míst, když číslo žádné neobsahuje.

SELECT trunc(342, 3); 

Výsledek:

342 000

Záporná čísla

Zde je příklad, který používá záporné číslo.

SELECT round(-4.5); 

Výsledek:

-5

Záporná desetinná místa

Zde je to, co se stane, když je druhým argumentem záporná hodnota.

SELECT trunc(342, -2); 

Výsledek:

300

Trunc() vs Round()

V některých případech trunc() se může zdát, že funkce funguje podobně jako round() . Ale jsou to docela odlišné funkce.

round() funkce zaokrouhlí číslo. Číslo je zaokrouhleno na nejbližší celé číslo nebo na zadaný počet desetinných míst (v závislosti na tom, zda mu zadáte jeden argument nebo dva argumenty).

trunc() funkce na druhé straně jednoduše zkrátí číslo směrem k nule nebo na zadané desetinné místo. Žádné zaokrouhlování se neprovádí.

Zde je příklad, který demonstruje rozdíl.

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

Výsledek:


  1. 11 Běžné příkazy SQL se základními příklady

  2. INSERT INTO ... RETURNING - nejednoznačný odkaz na sloupec

  3. MySQL - Spouštěč pro aktualizaci stejné tabulky po vložení

  4. Chyba spouštění Oracle ORA-04091