MySQL Date Functions
У наступній таблиці наведені найбільш важливі функцій для роботи з датами в MySQL:
| Опції | Опис |
|---|---|
| NOW () | Повертає поточну дату і час. |
| CURDATE () | Повертає поточну дату. |
| CURTIME () | Повертаємо поточний час. |
| DATE () | Складається з двох частин дати і часу. |
| EXTRACT () | Повертає одне значення дати / часу. |
| DATE_ADD () | Додає до вибірки вказане число днів / міну / годин і т.д. |
| DATE_SUB () | Вичитуємо вказаний інтервал від дати. |
| DATEDIFF () | Повертає значення часу між двома датами. |
| DATE_FORMAT () | Функція для різного виведення інформації про час. |
SQL Server Date Functions
У наступній таблиці наведені найбільш важливі функцій для роботи з датами в SQL Server:
| Опції | Опис |
|---|---|
| GETDATE () | Повертає поточну дату і час. |
| DATEPART () | Повертає дату / час. |
| DATEADD () | Функція, яка дозволяє додавати певне значення для дати. |
| DATEDIFF () | Обчислюємо різницю між датами. |
| CONVERT () | Функція для різного виведення інформації про час. |
Типи даних в SQL
MySQL надає наступні формати даних для зберігання дати / часу в базі даних:
- DATE - format YYYY-MM-DD
- DATETIME - format: YYYY-MM-DD HH: MM: SS
- TIMESTAMP - format: YYYY-MM-DD HH: MM: SS
- YEAR - format YYYY or YY
SQL Server надає наступні формати даних для зберігання дати / часу в базі даних:
- DATE - format YYYY-MM-DD
- DATETIME - format: YYYY-MM-DD HH: MM: SS
- SMALLDATETIME - format: YYYY-MM-DD HH: MM: SS
- TIMESTAMP - format: a unique number
Для огляду всіх наявних типів даних, перейдіть на сторінку Типи даних.
Робота з Датами в SQL
Є наступна таблиця "Orders":
| 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".
Для цього використовуємо такий запит:
| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | Geitost | 2008-11-11 |
| 3 | Mozzarella di Giovanni | 2008-11-11 |
Тепер припустимо, що таблиця "Orders" виглядає наступним чином:
| 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 запит, то:
ми не отримаємо результат! Це пояснюється тим, що запит шукає тільки по датам, але не враховує час.
SQL Dates





Коментарі
Цитувати
< моя_Дата + 1 день. Ключевое слово меньше (а не меньше равно), чтобы не попали даты следующего дня с нулевым временем. Но это выглядит тоже не очень.
Цитувати