TRUNC в PostgreSQL: усечение числа

Функция 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 соответственно