TO_CHAR в PostgreSQL: форматирование дат и чисел

Функция TO_CHAR в PostgreSQL предназначена для преобразования значений дат и чисел в строки согласно заданному формату. Она широко используется для улучшения отображения данных в отчётах и приложениях.

Синтаксис функции TO_CHAR

Общий синтаксис функции выглядит следующим образом:

TO_CHAR(значение, формат);
  • значение — дата или число, которое будет преобразовано в строку.
  • формат — шаблон, определяющий вывод данных.

Форматирование дат с помощью TO_CHAR

Пример форматирования даты

Пример запроса, форматирующего дату в удобный для чтения вид:

SELECT TO_CHAR(NOW(), 'DD-MM-YYYY') AS formatted_date;

Результатом выполнения будет строка вида 06-03-2025.

Популярные элементы формата даты

  • YYYY — полный год (2025)
  • MM — месяц (03)
  • DD — день месяца (06)
  • HH24 — часы в 24-часовом формате
  • MI — минуты
  • SS — секунды

Форматирование чисел с помощью TO_CHAR

Пример форматирования числа

Форматирование числа для вывода с разделителями тысяч и заданной точностью:

SELECT TO_CHAR(1234567.89, 'FM9,999,999.00') AS formatted_number;

Результатом выполнения будет 1,234,567.89.

Популярные элементы формата числа

  • 9 — цифра, подавляет ведущие нули
  • 0 — цифра, дополняет число нулями до заданной длины
  • . — десятичная точка
  • , — разделитель тысяч
  • FM — удаляет лишние пробелы в начале строки

Использование TO_CHAR в запросах

Пример использования функции в запросах к таблицам:

SELECT employee_name,
       TO_CHAR(hire_date, 'Month DD, YYYY') AS formatted_hire_date,
       TO_CHAR(salary, 'FM$9,999.00') AS formatted_salary
FROM employees;

Результатом будут красиво отформатированные строки с датами и зарплатами сотрудников.