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 і перетворює їх в дату. приклад:

На цьому все, до нових зустрічей!