logo

Функції дати SQL

У цьому підручнику ми дізнаємося про деякі важливі функції дат, які є вбудованими в SQL.

Функції дати в SQL:

  1. ЗАРАЗ()
  2. CURDATE()
  3. CURTIME()
  4. ДАТА()
  5. ВИПИСИ()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. ФОРМАТ ДАТИ()

Давайте розглянемо кожну з функцій дати одну за одною детально за допомогою прикладів. Ми будемо використовувати базу даних MySQL у прикладах для написання запитів.

Вважайте, що у нас є таблиця студента з такими даними:

ID Ім'я DateTime_Birth Місто
1 Мансійський шах 2010-01-01 18:39:09 Пуна
2 Теджал Ваг 2010-03-04 05:13:19 Насік
3 Седжал Кумарі 2010-05-01 10:31:07 Мумбаї
4 Сонал Джайн 2010-09-09 17:17:07 Шимла
5 Сурілі Махешварі 2010-07-10 20:45:18 лист

Ми будемо використовувати цю таблицю в деяких прикладах.

1. ЗАРАЗ():

Функція NOW () у SQL надасть дату й час поточної системи.

Синтаксис:

 SELECT NOW (); 

приклад:

Напишіть запит для відображення поточної дати й часу системи.

Запит:

 mysql> SELECT NOW () AS Current_Date_Time; 

Тут ми написали запит SELECT із функцією NOW (), щоб отримати поточну дату й час системи. Current_Date_Time — це псевдонім для збереження дати й часу.

Після виконання наведеного вище запиту ми отримали наступний результат:

Поточна_дата_час
2021-10-24 18:28:44

Дата і час виконання запиту в системі - 24тисЖовтень 2021 та 18:28:44. Отже, він відображається як вихід.

2. CURDATE()

Функція CURDATE () у SQL дасть поточну системну дату.

tcp проти udp

Синтаксис:

 SELECT CURDATE (); 

приклад:

Напишіть запит для відображення поточної системної дати.

Запит:

 mysql> SELECT CURDATE () AS CurrentDate; 

Тут ми написали запит SELECT із функцією CURDATE (), щоб отримати поточну дату системи. CurrentDate — це псевдонім для зберігання дати.

Після виконання наведеного вище запиту ми отримали наступний результат:

Поточна дата
2021-10-24

Дата виконання запиту в системі – 24 числотисЖовтень 2021 р. Отже, він відображається як результат.

3. CURTIME()

Функція CURTIME () в SQL видасть поточний системний час.

Синтаксис:

 SELECT CURTIME (); 

приклад:

Напишіть запит для відображення поточного системного часу.

Запит:

 mysql> SELECT CURTIME () AS CurrentTime; 

Тут ми написали запит SELECT із функцією CURTIME (), щоб отримати поточний час системи. CurrentTime — псевдонім для зберігання часу.

Після виконання наведеного вище запиту ми отримали наступний результат:

Поточний час
18:49:07

Час виконання запиту в системі 18:49:07. Отже, він відображається як вихід.

4. ДАТА()

Використовуючи функцію DATE () у SQL, ви можете спеціально витягти дату зі стовпця типу даних DATETIME.

Синтаксис:

 SELECT DATE (DateTimeValue); 

приклад 1:

Напишіть запит, щоб відобразити дату з заданої дати та часу, тобто 2021-10-24 18:28:44.

Запит:

 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

Тут ми написали запит SELECT із функцією DATE (), щоб отримати лише дату з параметра дати й часу, переданого функції DATE(). SHOW_DATE — псевдонім для збереження дати.

Після виконання наведеного вище запиту ми отримали наступний результат:

SHOW_DATE
2021-10-24

З параметра дати й часу, тобто «2021-10-24 18:28:44», значення дати дорівнює 2021-10-24. Отже, він відображається як вихід.

приклад 2:

Напишіть запит, щоб відобразити всі деталі з таблиці студентів із датою зі стовпця DateTime_Birth таблиці студентів.

Запит:

 mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student; 

Тут ми написали запит SELECT для отримання ідентифікатора та імені. Date_of_Birth є псевдонімом для DateTime_Birth. Ми використали Date_of_Birth із функцією DATE (), щоб отримати лише дату.

Після виконання наведеного вище запиту ми отримали наступний результат:

ID Ім'я Дата народження Місто
1 Мансійський шах 2010-01-01 Пуна
2 Теджал Ваг 2010-03-04 Насік
3 Седжал Кумарі 2010-05-01 Мумбаї
4 Сонал Джайн 2010-09-09 Шимла
5 Сурілі Махешварі 2010-07-10 лист

Усі записи відображаються так само, як і в таблиці студентів, за винятком стовпця DateTime_Birth. Відповідно до вимог у стовпці Date_of_Birth відображається лише дата.

5. ЕКСТРАКТ()

Використовуючи функцію EXTRACT() у SQL, ми можемо витягти певну частину дати та часу відповідно до наших вимог: день, місяць, рік, день, година, хвилина тощо.

Синтаксис:

 SELECT EXTRACT (PART FROM DATE / TIME); 

приклад 1:

Напишіть запит, щоб відобразити рік від заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR; 

Тут ми написали запит SELECT із функцією EXTRACT (), щоб отримати рік від вказаної дати. SHOW_YEAR — псевдонім для зберігання року.

Після виконання наведеного вище запиту ми отримали наступний результат:

SHOW_YEAR
2021 рік

«2021» — це рік у вказаній даті. Отже, він відображається як вихід.

приклад 2:

Напишіть запит для відображення місяця від заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

Тут ми написали запит SELECT із функцією EXTRACT (), щоб отримати місяць із зазначеної дати. SHOW_MONTH — це псевдонім для збереження місяця.

Після виконання наведеного вище запиту ми отримали наступний результат:

SHOW_MONTH
10

10тисце значення місяця в даній даті. Отже, він відображається як вихід.

приклад 3:

Напишіть запит для відображення дня від заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY; 

Тут ми написали запит SELECT із функцією EXTRACT (), щоб отримати день від вказаної дати. SHOW_DAY — псевдонім для збереження дня.

Після виконання наведеного вище запиту ми отримали наступний результат:

архітектура вулика
SHOW_DAY
24

24тисце значення дня в даній даті. Отже, він відображається як вихід.

Приклад 4:

Напишіть запит для відображення години від заданого часу, тобто 19:10:43.

перенесення слів css

Запит:

 mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR; 

Тут ми написали запит SELECT із функцією EXTRACT (), щоб отримати годину від заданого часу. SHOW_HOUR — це псевдонім для збереження значення години.

Після виконання наведеного вище запиту ми отримали наступний результат:

SHOW_HOUR
19

«19» — це значення години в заданому часі. Отже, він відображається як вихід.

Приклад 5:

Напишіть запит для відображення хвилини від заданого часу, тобто 19:10:43.

Запит:

 mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE; 

Тут ми написали запит SELECT із функцією EXTRACT (), щоб отримати значення хвилин із заданого часу. SHOW_MINUTE — це псевдонім для збереження хвилини.

Після виконання наведеного вище запиту ми отримали наступний результат:

SHOW_MINUTE
10

«10» — це значення хвилин у заданому часі. Отже, він відображається як вихід.

Приклад 6:

Напишіть запит для відображення секунд із заданого часу, тобто 19:10:43.

Запит:

 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

Тут ми написали запит SELECT із функцією EXTRACT (), щоб отримати значення секунд із заданого часу. SHOW_SECOND — псевдонім для зберігання значення секунди.

Після виконання наведеного вище запиту ми отримали наступний результат:

SHOW_SECOND
43

43 – друге значення за вказаний час. Отже, він відображається як вихід.

6. DATE_ADD()

Використовуючи функцію DATE_ADD () у SQL, ми можемо додати певний проміжок часу до заданої дати.

Синтаксис:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

приклад 1:

Напишіть запит, щоб додати інтервал у 15 днів до заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Тут ми написали запит SELECT із функцією DATE_ADD (), щоб додати інтервал у 15 днів до вказаної дати. NEW_DATE — це псевдонім для збереження значення нової дати.

Ви отримаєте наступний результат:

NEW_DATE
2021-11-08

Після додавання 15-денного інтервалу до 2021-10-24 нова дата – 2021-11-08.

приклад 2:

Напишіть запит, щоб додати інтервал у 5 місяців до заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Тут ми написали запит SELECT із функцією DATE_ADD (), щоб додати інтервал у 5 місяців до вказаної дати. NEW_DATE — це псевдонім для збереження значення нової дати.

Ви отримаєте наступний результат:

NEW_DATE
2022-03-24

Після додавання 5-місячного інтервалу до 2021-10-24 нова дата – 2022-03-24.

приклад 3:

Напишіть запит, щоб додати інтервал у 25 років до заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Тут ми написали запит SELECT із функцією DATE_ADD (), щоб додати інтервал у 25 років до вказаної дати. NEW_DATE — це псевдонім для збереження значення нової дати.

Ви отримаєте наступний результат:

NEW_DATE
2046-10-24

Після додавання 25-річного інтервалу до 2021-10-24 нова дата – 2046-10-24.

7. DATE_SUB()

Використовуючи функцію DATE_SUB () у SQL, ми можемо видалити певний проміжок часу з заданої дати.

Синтаксис:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

приклад 1:

Напишіть запит, щоб видалити інтервал у 25 років із заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Тут ми написали запит SELECT із функцією DATE_SUB(), щоб видалити інтервал у 25 років із заданої дати. NEW_DATE — це псевдонім для збереження значення нової дати.

Ви отримаєте наступний результат:

NEW_DATE
1996-10-24

Після видалення 25-річного інтервалу з 2021-10-24, новою датою є 1996-10-24.

приклад 2:

Напишіть запит, щоб видалити інтервал у 5 місяців із заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Тут ми написали запит SELECT із функцією DATE_SUB(), щоб видалити інтервал у 5 місяців із заданої дати. NEW_DATE — це псевдонім для збереження значення нової дати.

Ви отримаєте наступний результат:

інструмент лікування gimp
NEW_DATE
2021-05-24

Після видалення 5-місячного інтервалу з 2021-10-24, новою датою є 2021-05-24.

приклад 3:

Напишіть запит на видалення інтервалу 15 днів із заданої дати, тобто 24тисжовтень 2021 р.

Запит:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Тут ми написали запит SELECT із функцією DATE_SUB(), щоб видалити інтервал у 15 днів із заданої дати. NEW_DATE — це псевдонім для збереження значення нової дати.

Ви отримаєте наступний результат:

NEW_DATE
2021-10-09

Після видалення 15-денного інтервалу з 24.10.2021 нова дата – 09.10.2021.

8. DATEDIFF()

Використання функції DATEDIFF() у SQL дасть нам кількість днів, які припадають на дві вказані дати.

Синтаксис:

 SELECT DATEDIFF(Date1, Date2); 

приклад 1:

Напишіть запит, щоб обчислити різницю між двома заданими датами, наприклад, 24тисЖовтень 2021 р. та 9тисжовтень 2021 р.

Запит:

 mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE; 

Тут ми написали запит SELECT із функцією DATE_DIFF(), щоб отримати різницю між датами 2021-10-24 і 2021-10-09. Number_of_Days — це псевдонім для зберігання різниці в кількості днів.

Ви отримаєте наступний результат:

Кількість_днів
п'ятнадцять

Різниця між датами 24.10.2021 та 09.10.2021 становить 15 днів.

приклад 2:

Напишіть запит, щоб обчислити різницю між двома заданими датами, тобто 5тистравня 2018 р. та 5тисТравень 2008 року.

Запит:

 mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE; 

Тут ми написали запит SELECT із функцією DATE_DIFF (), щоб отримати різницю між датами 2018-05-05 і 2008-05-05. Number_of_Days — це псевдонім для зберігання різниці в кількості днів.

Ви отримаєте наступний результат:

Кількість_днів
3652

Різниця між датами 2018-05-05 і 2008-05-05 становить 3652 дні.

9. DATE_FORMAT()

Використовуючи функцію DATE_FORMAT () у SQL, ми можемо відобразити інформацію, пов’язану з датою чи часом, у добре відформатованому вигляді.

Синтаксис використання функції DATE_FORMAT для стовпця таблиці:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

АБО

Синтаксис для форматування конкретної дати:

 SELECT DATE_FORMAT (Date, Expression); 

приклад 1:

Напишіть запит, щоб відобразити вказану дату в добре відформатованому вигляді, наприклад, 24тисжовтень 2021 р.

Запит:

 mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date; 

Тут ми написали запит SELECT із функцією DATE_FORMAT (), щоб отримати дату 2021-10-24 у відформатованому вигляді. Formatted_Date — це псевдонім для зберігання відформатованої дати.

перевести int до рядка java

Ви отримаєте наступний результат:

Formatted_Date
Неділя, 24 жовтня 2021 р

Неділя, 24 жовтня 2021 року, є форматованою датою для 2021-10-24.

приклад 2:

Напишіть запит, щоб відобразити дану дату й час у добре відформатованому вигляді, наприклад, 24тисЖовтень 2021 22:30:17.

Запит:

 mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime; 

Тут ми написали запит SELECT із функцією DATE_FORMAT (), щоб отримати дату й час «2021-10-24 22:30:17» у форматованій формі. Formatted_DateTime — це псевдонім для збереження відформатованої дати й часу.

Ви отримаєте наступний результат:

Formatted_DateTime
Неділя, 24 жовтня 2021 р., 22:30:17

Неділя, 24 жовтня 2021 року, 22:30:17 – це відформатована дата й час для 24 жовтня 2021 року 22:30:17.

приклад 3:

Напишіть запит, щоб відобразити всі деталі зі стовпця «Студент» зі стовпцем «Дата і час_народження» у правильно відформатованому вигляді.

Запит:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

Тут ми написали запит SELECT із функцією DATE_FORMAT (), щоб отримати дату й час для всіх записів у форматованій формі. Formatted_DateTime — це псевдонім для збереження відформатованої дати й часу.

Ви отримаєте наступний результат:

ID Ім'я Formatted_DateTime Місто
1 Мансійський шах П'ятниця, 1 січня 2010 р., 18:39:09 Пуна
2 Теджал Ваг Четвер, 4 березня 2010 р., 05:13:19 Насік
3 Седжал Кумарі Субота, 1 травня 2010 р., 10:31:07 Мумбаї
4 Сонал Джайн Четвер, 9 вересня 2010 р., 17:17:07 Шимла
5 Сурілі Махешварі Субота, 10 липня 2010 р., 20:45:18 лист

Усі записи відображаються так само, як і в таблиці студентів, за винятком стовпця DateTime_Birth. У стовпці Formatted_DateTime відображаються лише дата й час відповідно до вимог.