DATE в Oracle SQL — как работать с датами и временем с учётом форматов и функций

🟢 DATE в Oracle SQL. Введение

Тип данных DATE в Oracle SQL — один из важнейших, поскольку практически каждая база содержит временные поля: даты создания заказов, даты рождения, сроки поставок и многое другое.

Oracle DATE — это не просто день: тип хранит дату и время до секунд, включая:

  • Год, месяц, день

  • Часы, минуты, секунды

Работать с ним можно с помощью встроенных функций, форматов преобразования, арифметики и условий фильтрации.


🔤 Написание

Создание таблицы с типом DATE:

sql
CREATE TABLE events (
event_id NUMBER,
event_name VARCHAR2(100),
event_date DATE
);

🔄 Где используется

  • В документах, регистрациях, событиях, заказах

  • При фильтрации по времени (вчера, сегодня, за неделю)

  • В отчетности по дням, месяцам, кварталам

  • В аналитике и прогнозировании

  • Для сравнения и расчётов временных интервалов


🧪 10 Примеров использования DATE

1️⃣ Вставка значения даты

sql
INSERT INTO events (event_id, event_name, event_date)
VALUES (1, 'Запуск проекта', TO_DATE('2025-07-01 09:00:00', 'YYYY-MM-DD HH24:MI:SS'));

2️⃣ Фильтрация по дате

sql
SELECT * FROM events
WHERE event_date = TO_DATE('2025-07-01', 'YYYY-MM-DD');

3️⃣ Сравнение с SYSDATE

sql
SELECT * FROM orders
WHERE order_date < SYSDATE;

4️⃣ Разница в днях

sql
SELECT event_name, SYSDATE - event_date AS days_ago
FROM events;

5️⃣ Форматированный вывод даты

sql
SELECT TO_CHAR(event_date, 'DD.MM.YYYY HH24:MI:SS') AS дата
FROM events;

6️⃣ Добавление дней

sql
SELECT event_date + 7 AS next_week
FROM events;

7️⃣ Получение текущей даты

sql
SELECT SYSDATE FROM dual;

Текущая дата и время с сервера.


8️⃣ Только дата без времени

sql
TRUNC(event_date)

9️⃣ Разбиение по месяцам

sql
SELECT TO_CHAR(event_date, 'YYYY-MM') AS месяц, COUNT(*)
FROM events
GROUP BY TO_CHAR(event_date, 'YYYY-MM');

🔟 Использование BETWEEN с датами

sql
SELECT * FROM orders
WHERE order_date BETWEEN TO_DATE('2024-01-01', 'YYYY-MM-DD')
AND TO_DATE('2024-12-31', 'YYYY-MM-DD');

🧩 Заключение

Тип данных DATE — основа для работы с временем в Oracle SQL. Он хранит и дату, и время до секунд, позволяя:

✅ фильтровать события
✅ производить арифметику
✅ делать точную аналитику
✅ отображать в нужном формате

💡 Запомни:

  • Используй TO_DATE при вставке и фильтрации

  • SYSDATE — текущая дата/время сервера

  • Форматируй TO_CHAR для отчётов

  • TRUNC(date) — для обнуления времени


🔜 Следующая статья:

DATABASE в Oracle SQL — как обращаться к текущей базе данных и использовать её контекст


 

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии