Головна |
Далі розглянемо типи DATETIME, DATE і TIMESTAMP, які є спорідненими типами даних. Наведемо їх властивості, загальні риси і відмінності.
Тип даних DATETIME використовується для величин, що містять інформацію як про дату, так і про час. MySQL витягує і виводить величини DATETIME в форматі 'YYYY-MM-DD HH: MM: SS'. Підтримується діапазон величин від '1000-01-01 00:00:00' до '9999-12-31 23:59:59'. ("Підтримується" означає, що хоча величини з більш ранніми тимчасовими значеннями, можливо, теж будуть працювати, але немає гарантії того, що вони будуть правильно зберігатися і відображатися).
Тип DATE використовується для величин з інформацією тільки про дату, без частини, що містить час. MySQL витягує і виводить величини DATE в форматі 'YYYY-MM-DD'. Підтримується діапазон величин від '1000-01-01' до '9999-12-31'.
Тип стовпчика TIMESTAMP забезпечує тип представлення даних, який можна використовувати для автоматичного запису поточних дати і часу при виконанні операцій INSERT або UPDATE. При наявності декількох стовпців типу TIMESTAMP тільки перший з них оновлюється автоматично.
Для інших (крім першого) стовпців типу TIMESTAMP також можна задати установку в значення поточних дати і часу. Для цього необхідно просто встановити стовпець в NULL або в NOW ().
Будь-стовпець типу TIMESTAMP (навіть перший стовпець даного типу) можна встановити в значення, відмінне від поточних дати і часу. Це робиться шляхом явної установки його в бажане значення. Дана властивість можна використовувати, наприклад, якщо необхідно встановити стовпець TIMESTAMP в значення поточних дати і часу при створенні рядка, а при подальшому оновленні цього рядка значення стовпця не повинно змінюватися.
Величини типу TIMESTAMP можуть набувати значень від початку 1970 року до деякого значення в 2037 році з дозволом в одну секунду. Ці величини виводяться у вигляді числових значень.
Формат даних, в якому MySQL витягує і показує величини TIMESTAMP, залежить від кількості показуються символів. Це проілюстровано в таблиці. Повний формат TIMESTAMP становить 14 десяткових розрядів, але можна створювати стовпці типу TIMESTAMP і з більш коротким рядком виведення:
Формат даних TIMESTAMP в залежності від кількості видобутих розрядів | |
Тип стовпчика | формат виведення |
TIMESTAMP (14) | YYYYMMDDHHMMSS |
TIMESTAMP (12) | YYMMDDHHMMSS |
TIMESTAMP (10) | YYMMDDHHMM |
TIMESTAMP (8) | YYYYMMDD |
TIMESTAMP (6) | YYMMDD |
TIMESTAMP (4) | YYMM |
TIMESTAMP (2) | YY |
Величини DATETIME, DATE і TIMESTAMP можуть бути задані будь-яким стандартним набором форматів:
- Як рядок у форматі 'YYYY-MM-DD HH: MM: SS' або в форматі 'YY-MM-DD HH: MM: SS'. Допускається "полегшений" синтаксис - можна використовувати будь-який знак пунктуації як розділовий між частинами розділів дати або часу. Наприклад, величини '98 -12-31 11:30:45 ', '98 .12.31 11 + 30 + 45', '98 / 12/31 11 * 30 * 45 'і '98 @ 12 @ 31 11 ^ 30 ^ 45 'є еквівалентними.
- Як рядок у форматі 'YYYY-MM-DD' або в форматі 'YY-MM-DD'. Тут також допустимо "полегшений" синтаксис. Наприклад, величини '98 -12-31 ', '98 .12.31', '98 / 12/31 'та '98 @ 12 @ 31' є еквівалентними.
- Як рядок без розділових знаків в форматі 'YYYYMMDDHHMMSS' або в форматі 'YYMMDDHHMMSS', за умови, що рядок розуміється як дата. Наприклад, величини '19970523091528' і '970523091528' можна інтерпретувати як '1997-05-23 9:15:28', але величина '971122129015' є неприпустимою (значення розділу хвилин є абсурдним) і перетворюється в '0000-00-00 00 : 00: 00 '.
- Як рядок без розділових знаків в форматі 'YYYYMMDD' або в форматі 'YYMMDD', за умови, що рядок інтерпретується як дата. Наприклад, величини '19970523' і '970523' можна інтерпретувати як '1997-05-23', але величина 'дев'ятсот сімдесят одна тисяча триста тридцять дві' є неприпустимою (значення розділів місяці і дні не мають сенсу) і перетворюється в '0000-00-00'.
- Як число в форматі YYYYMMDDHHMMSS або в форматі YYMMDDHHMMSS, за умови, що число інтерпретується як дата. Наприклад, величини 19830905132800 і 830905132800 інтерпретуються як '1983-09-05 13:28:00'.
- Як число в форматі YYYYMMDD або в форматі YYMMDD, за умови, що число інтерпретується як дата. Наприклад, величини 19830905 і 830 905 інтерпретуються як '1983-09-05'.
- Як результат виконання функції, що повертає величину, прийнятну в контекстах типів даних DATETIME, DATE або TIMESTAMP (наприклад, функції NOW () або CURRENT_DATE ()).
Як зберігаються дані в MySQL. | Команда CREATE DATABASE | Перегляд баз даних в системі show databases; | Використання бази даних SELECT DATABASE (); | Команда CREATE TABLE | ALTER TABLE table_name alter_spec; | Синтаксис команди DROP TABLE | Видалення баз даних. | Символьні (строкові) типи даних. | Числові типи даних |