Sql робота з датами

SQL робота з датами - настільки важлива, що без знання основних sql операторів ні в одному стоїть проект не можна обійтися. Як не крути, але у всіх сервісах існує потреба роботи з часом. Як правило, це обчислення періодів з одного з іншу дату, наприклад висновок списку зареєстрованих користувачів за рік, місяць, день, годину.

Я хочу привести ряд рішень на часто зустрічаються завдання по роботі з датами в SQL, з якими сам щодня стикався, сподіваюся, це буде актуально і корисно для вас.

Як отримати поточну дату в SQL

або інший варіант


Додати до дати одну годину в SQL


Додати до дати один день в SQL

Аналогічно можна додавати будь-яку кількість днів до поточної дати.

Додати до дати один місяць в SQL

Аналогічно можна додавати будь-яку кількість місяців до поточної дати.

Отримати вчорашній день в SQL


Отримати дату початку поточного тижня в SQL
ця одна з найскладніших на перший погляд завдань, але вирішується дуже просто


Отримати вибірку з цього понеділка по поточний день тижня в SQL


Отримати вибірку з першого числа поточного місяця по поточний день тижня в SQL


Як отримати дату народження користувача в SQL


Знайти всіх користувачів у яких день народження в наступному місяці в SQL

або інший варіант


Крім вищенаведених кейсів по роботі з датами в SQL, рекомендую ознайомитися з документацією по наступним операторам:
NOW () - Повертає поточну дату і час.
CURDATE () - Повертає поточну дату.
CURTIME () - Повертаємо поточний час.
DATE () - Складається з двох частин дати і часу.
EXTRACT () - Повертає одне значення дати / часу.
DATE_ADD () - Додає до вибірки вказане число днів / міну / годин і т.д.
DATE_SUB () - вичитував вказаний інтервал від дати.
DATEDIFF () - Повертає значення часу між двома датами.
DATE_FORMAT () - Функція для різного виведення інформації про час.

Робота з датами в SQl, як виявляється не така складна, і тепер замість того щоб обчислювати періоди засобами PHP можна робити це ще на етапі виконання SQL запиту і отримувати необхідну вибірку даних.

Схожі статті