Дати й час

TO_CHAR

Перетворює дату, час або число на текст у потрібному форматі.

Синтаксис

TO_CHAR(<значення>, '<формат>')

Формат складають із шаблонів: DD — день, MM — місяць, YYYY — рік, HH24 — година, MI — хвилини. Усе інше, як-от крапки й двокрапки, лишається як є. Потрібно, коли дату треба показати людям у звичному вигляді, а не так, як її зберігає база.

Дані для прикладів

orders

idcreated_atamount
12026-07-03 10:15:00120.50
22026-07-28 18:40:0080.25
32026-08-09 09:05:00199.99
42026-08-21 14:30:0045.00
52026-09-02 11:00:0064.75

Ці таблиці вже створено в пісочниці — приклади нижче працюють із ними. Хочеш повторити у своїй базі — скопіюй SQL.

Дата й час по-нашому
SELECT TO_CHAR(TIMESTAMP '2026-09-13 15:47', 'DD.MM.YYYY') AS formatted_date,
TO_CHAR(TIMESTAMP '2026-09-13 15:47', 'HH24:MI') AS formatted_time;
formatted_dateformatted_time
13.09.202615:47
Дата кожного замовлення
SELECT id,
TO_CHAR(created_at, 'DD.MM.YYYY HH24:MI') AS created
FROM orders;
idcreated
103.07.2026 10:15
228.07.2026 18:40
309.08.2026 09:05
421.08.2026 14:30
502.09.2026 11:00
Назва місяця
SELECT id,
TO_CHAR(created_at, 'FMMonth YYYY') AS month
FROM orders;
idmonth
1July 2026
2July 2026
3August 2026
4August 2026
5September 2026

FM прибирає пробіли, якими PostgreSQL доповнює назви місяців до однакової довжини. Самі назви — англійською.

Зверни увагу

MM — це місяць, а хвилини — MI. TO_CHAR(TIMESTAMP '2026-09-13 15:47', 'HH24:MM') покаже 15:09: годину й номер місяця.

Результат — текст, тож і сортується як текст: August, July, September. Сортуй за самою датою, а TO_CHAR лиши для показу.

Без FM назви місяців доповнюються пробілами до 9 символів: формат 'Month' для липня дасть July і ще п'ять пробілів.

Схожі функції