Функция TRUNC в PostgreSQL используется для усечения числа до заданного количества десятичных знаков без округления.
Синтаксис
TRUNC(число, точность)число— число, которое необходимо усечь.точность— количество знаков после запятой (необязательный параметр, по умолчанию0).
Примеры использования
Усечение до целого числа
SELECT TRUNC(15.89); -- Результат: 15SELECT TRUNC(-7.45); -- Результат: -7Усечение до заданного количества десятичных знаков
SELECT TRUNC(15.8976, 2); -- Результат: 15.89SELECT TRUNC(123.456789, 4); -- Результат: 123.4567Использование в запросе
SELECT id, value, TRUNC(value, 2) AS truncated_value FROM measurements;Этот запрос усекает значения столбца value до двух знаков после запятой в таблице measurements.
Особенности
TRUNC(число, 0)аналогичноFLOOR(число), но работает и с отрицательными числами без округления вверх.- Если
точностьположительна, усечение происходит после десятичной точки. - Если
точностьотрицательна, усечение происходит слева от десятичной точки.
SELECT TRUNC(12345, -2); -- Результат: 12300- В отличие от
ROUND,TRUNCпросто отсекает дробную часть без округления.
SELECT TRUNC(5.99), ROUND(5.99); -- Результат: 5 и 6 соответственно