Функция TRUNC
в PostgreSQL используется для усечения числа до заданного количества десятичных знаков без округления.
Синтаксис
TRUNC(число, точность)
число
— число, которое необходимо усечь.точность
— количество знаков после запятой (необязательный параметр, по умолчанию0
).
Примеры использования
Усечение до целого числа
SELECT TRUNC(15.89); -- Результат: 15
SELECT TRUNC(-7.45); -- Результат: -7
Усечение до заданного количества десятичных знаков
SELECT TRUNC(15.8976, 2); -- Результат: 15.89
SELECT 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 соответственно