Функция TRUNC
делает что и ROUND
, только по другим правилам. Вместо округления по арифметическим правилам она просто отбрасывает лишние знаки.
trunc(число, до скольки знаков)
Если второй параметр не передавать, то производится округление до ближайшего целого числа:
SELECT trunc(123.12) as "123.12",
trunc(123.56) as "123.56"
# | 123.12 | 123.56 |
---|---|---|
1 | 123 | 123 |
Если вторым параметром передать отрицательное число, то округление будет производиться до десятков, сотен, тысяч, десятков тысяч...
SELECT trunc(12345.6, -1) as "trunc -1",
round(12345.6, -1) as "round -1",
trunc(12345.6, -2) as "trunc -2",
round(12345.6, -2) as "round -2",
trunc(12345.6, -3) as "trunc -3",
round(12345.6, -3) as "round -3"
# | trunc -1 | round -1 | trunc -2 | round -2 | trunc -3 | round -3 |
---|---|---|---|---|---|---|
1 | 12340 | 12350 | 12300 | 12300 | 12000 | 12000 |