функция trunc и round в sql
Является ли trunc и round одним и тем же с отрицательными аргументами?
SQL> select round(123456.76,-4) from dual;
ROUND(123456.76,-4)
-------------------
120000
SQL> select trunc(123456.76,-4) from dual;
TRUNC(123456.76,-4)
-------------------
120000
2 ответа:
Нет, поведение зависит от значения значащей цифры (3-я цифра (3) является значимой в вашем случае, так как она ниже 5
round
иtrunc
делают то же самое)Попробуйте
select trunc(125456.76,-4) from dual
(результат 120000) противselect round(125456.76,-4) from dual
(результат 130000). Теперь, когда значащая цифра равна 5 (или выше), результатыtrunc
иround
различаются.