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: