НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

SQL Підручник

SQL СТАРТ SQL Інтро SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL SQL UPDATE SQL DELETE SQL SELECT TOP SQL MIN() and MAX() SQL COUNT() SQL SUM() SQL AVG() SQL LIKE SQL Підстановочні символи SQL IN SQL BETWEEN SQL Псевдоніми SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL Self JOIN SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY, ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL NULL Функції SQL Зберігаючи процедури SQL Коментарі SQL Оператори

SQL База даних

SQL Create DB SQL Drop DB SQL Backup DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting SQL Типи даних

SQL Довідники

SQL Ключові слова MySQL Функції SQL Серверні функції MS Access Функції SQL Швидкий довідник

SQL Приклади

SQL Приклади SQL Редактор SQL Вікторина SQL Вправи SQL Bootcamp SQL Сертифікат

SQL. W3Schools українською. Уроки для початківців

En

SQL Робота з датами


SQL Дати

Найважча частина під час роботи з датами — переконатися, що формат дати, яку ви намагаєтеся вставити, відповідає формату стовпця дати в базі даних.

Поки ваші дані містять лише частину дати, ваші запити працюватимуть належним чином. Однак, якщо задіяна частина часу, це стає складнішим.


SQL Типи даних дати

MySQL поставляється з такими типами даних для зберігання дати або значення дати/часу в базі даних:

  • DATE - формат YYYY-MM-DD
  • DATETIME - формат: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP - формат: YYYY-MM-DD HH:MI:SS
  • YEAR - формат YYYY або YY

SQL Server поставляється з такими типами даних для зберігання дати або значення дати/часу в базі даних:

  • DATE - формат YYYY-MM-DD
  • DATETIME - формат: YYYY-MM-DD HH:MI:SS
  • SMALLDATETIME - формат: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP - формат: унікальне число

Примітка: Типи дат вибираються для стовпця під час створення нової таблиці в базі даних!


SQL Робота з датами

Погляньте на наступну таблицю:

Таблиця замовлень

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Тепер ми хочемо вибрати записи з OrderDate "2008-11-11" із таблиці вище.

Ми використовуємо наступну інструкцію SELECT:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Набір результатів буде виглядати так:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Примітка: Дві дати можна легко порівняти, якщо немає часової складової!

Тепер припустімо, що таблиця "Orders" виглядає так (зверніть увагу на доданий компонент часу в стовпці "OrderDate"):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Якщо ми використовуємо ту саму інструкцію SELECT, що й вище:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Ніякого результату не отримаємо! Це тому, що запит шукає лише дати без часової частини.

Порада: Щоб ваші запити були простими та легкими для обслуговування, не використовуйте компоненти часу у своїх датах, якщо це не потрібно!