Аналитик данных в VK · 01.07
🗓️Время не ждёт: как управлять датами в PostgreSQL.
Работа с датами и временем может показаться сложной. Но если вы знаете правильные функции, PostgreSQL превращается в вашего надёжного помощника в мире временных данных.
Допустим, вы ведёте учёт заказов, логируете действия пользователей или анализируете активность — рано или поздно вы столкнётесь с необходимостью преобразовать строку в дату , отформатировать время или прибавить пару дней к текущей дате .
Покажу, как это делать легко.
🔁 Как превратить строку в дату/время?
Когда данные приходят в виде текста (например, из CSV или формы), используйте TO_TIMESTAMP() или CAST():
SELECT TO_TIMESTAMP('2025-04-05 14:30', 'YYYY-MM-DD HH24:MI'); -- Результат: 2025-04-05 14:30:00
SELECT CAST('2025-04-05' AS DATE); -- Результат: 2025-04-05
💡 Это нужно, чтобы хранить даты корректно и использовать их в запросах, фильтрах и вычислениях.
🖋 Как превратить дату в понятную строку?
Иногда вам нужно просто красиво отобразить дату — например, в отчёте или интерфейсе. На помощь приходит TO_CHAR():
SELECT TO_CHAR(NOW(), 'DD/MM/YYYY HH24:MI'); -- Пример вывода: 05/04/2025 16:40
SELECT TO_CHAR(CURRENT_DATE, 'Day, Month YYYY'); -- Пример: "Saturday, April 2025"
💡 Полезно, когда важно удобство чтения, а не машинное представление даты.
⏱️ Как работать с интервалами?
Хочешь узнать, что было вчера, через неделю или сколько прошло времени между двумя событиями? Используй INTERVAL: SELECT NOW() + INTERVAL '1 day'; -- Завтра SELECT NOW() - INTERVAL '3 hours'; -- Три часа назад SELECT AGE('2025-04-10', '2025-04-05'); -- Интервал: 5 дней
💡 Отлично подходит для анализа временных меток, расчёта сроков и сравнения событий.
🧠 Напоследок: типы дат и времени Не путайте типы:
DATE — только дата. TIMESTAMP — дата и время без часового пояса. TIMESTAMPTZ — дата и время с учётом часового пояса. SELECT NOW(); -- Timestamptz SELECT CURRENT_TIME; -- Время с часовым поясом Выбор типа влияет на точность ваших данных и корректность вычислений — особенно в глобальных системах.
Если ты хочешь научиться работать с данными во времени — начни с этих функций. Они простые, но невероятно мощные. 💥
А какой ваш любимый способ работы с датами в SQL? Делитесь в комментариях 👇
еще контент автора
еще контент автора
Аналитик данных в VK · 01.07
войдите, чтобы увидеть
и подписаться на интересных профи