Sql дата і час
Вітаю Вас, шановні Новомосковсктелі блогу webcodius.ru. У базі даних часто потрібно зберігати різні дані пов'язані з датою і часом. Це може бути дата додавання інформації, дата реєстрації користувача, час останньої автоізаціі і інші дані. У мові SQL є безліч функцій пов'язаних з датою і часом, сьогодні їх і розглянемо.
Все нижче розглянуті функції працюють з календарними типами даних.
Отримання поточної дати і часу.
Приклад створення блогу на WordPress 4
Щоб отримати поточну дату і час використовується функція NOW ().
Для отримання тільки поточної дати є функція CURDATE ().
І функція CURTIME (). яка повертає тільки поточний час:
SELECT CURTIME ()
Результат: 14:42:53
Додаток і віднімання дат і часу
Приклад створення блогу на WordPress 4
Функція ADDDATE (date, INTERVAL value) додає до дати date значення value і повертає отримане значення. Як value можуть виступати наступні значення:
- SECOND - секунди
- MINUTE - хвилини
- HOUR - годинник
- DAY - дні
- WEEK - тижні
- MONTH - місяці
- QUARTER - квартали
- YEAR - роки
а також їх комбінації:
- MINUTE_SECOND - хвилини і секунди
- HOUR_SECONDчаси - хвилини і секунди
- HOUR_MINUTE - годинник і хвилини
- DAY_SECOND - дні, години, хвилини і секунди
- DAY_MINUTE - дні, години та хвилини
- DAY_HOUR - дні та години
- YEAR_MONTH - року і місяці.
Функція SUBDATE (date, INTERVAL value) виробляє віднімання значення value з дати date. приклад:
Функція TIMESTAMPADD (interval, n, date) додає до дати date часовий інтервал n. значення якого задаються параметром interval. Можливі значення параметра interval:
- FRAC_SECOND - мікросекунди
- SECOND - секунди
- MINUTE - хвилини
- HOUR - годинник
- DAY - дні
- WEEK - тижні
- MONTH - місяці
- QUARTER - квартали
- YEAR - роки
Функція SUBTIME (date, time) віднімає з дати date час time. приклад:
Обчислення інтервалу між датами
Приклад створення блогу на WordPress 4
Функція TIMEDIFF (date1, date2) обчислює різницю в годинах, хвилинах і секундах між двома датами date1 і date2. приклад:
Функція DATEDIFF (date1, date2) обчислює різницю в днях між двома датами, при цьому години, хвилини і секунди при вказівці дат ігноруються. приклад:
Функція TIMESTAMPDIFF (interval, date1, date2) обчислює різницю між датами date2 і date1 в одиницях зазначених в параметрі interval. При цьому interval може набувати таких значень:
- FRAC_SECOND - мікросекунди
- SECOND - секунди
- MINUTE - хвилини
- HOUR - годинник
- DAY - дні
- WEEK - тижні
- MONTH - місяці
- QUARTER - квартали
- YEAR - роки
Отримання різних форматів дати і часу та іншої інформації
Функція DATE (datetime) повертає дату, відсікаючи час. приклад:
Функція TIME (datetime) повертає час, відсікаючи дату. приклад:
Функція TIMESTAMP (date) повертає повний формат згодом дати date. приклад:
DAY (date) і DAYOFMONTH (date). Функції-синоніми, які повертають порядковий номер дня місяця. приклад:
Функції DAYNAME (date), DAYOFWEEK (date) і WEEKDAY (date). Перша функція повертає назву дня тижня. друга - номер дня тижня (відлік від 1 - неділя до 7 - субота), третя також номер дня тижня тільки інший відлік (відлік від 0 - понеділок, до 6 - неділя). приклад:
Функції WEEK (date) і WEEKOFYEAR (datetime). Обидві функції повертають номер тижні в році. тільки у першій тиждень починається з неділі, а у другій з понеділка. приклад:
Функція MONTH (date) повертає числове значення місяця (від 1 до 12), а MONTHNAME (date) назва місяця. приклад:
Функція QUARTER (date) повертає номер кварталу року (від 1 до 4). приклад:
Функція YEAR (date) повертає значення року (від 1000 до 9999). приклад:
Функція DAYOFYEAR (date) повертає порядковий номер дня в році (від 1 до 366). Прміер:
Функція HOUR (datetime) повертає значення години (від 0 до 23). приклад:
Функція MINUTE (datetime) повертає значення хвилин (від 0 до 59). приклад:
Функція SECOND (datetime) повертає значення секунд (від 0 до 59). приклад:
Функція EXTRACT (type FROM date) повертає частину дати date визначається параметром type. приклад:
Взаємодоповнюючі функції TO_DAYS (date) і FROM_DAYS (n). Перша перетворює дату в кількість днів. що минули з нульового року. Друга, навпаки, приймає число днів. що минули з нульового року і перетворює їх в дату. приклад:
Взаємодоповнюючі функції TIME_TO_SEC (time) і SEC_TO_TIME (n). Перша перетворює час в кількість секунд. що минули від початку доби. Друга, навпаки, приймає число секунд з початку доби і перетворює їх під час. приклад:
SELECT TIME_TO_SEC ('10: 30: 20 '), SEC_TO_TIME (37820)
Результат: 37820 | 10:30:20
Функція MAKEDATE (year, n) приймає рік year і номер дня в році n і перетворює їх в дату. приклад:
На цьому все, до нових зустрічей!