У цьому підручнику ми дізнаємося про деякі важливі функції дат, які є вбудованими в SQL.
Функції дати в SQL:
- ЗАРАЗ()
- CURDATE()
- CURTIME()
- ДАТА()
- ВИПИСИ()
- DATE_ADD()
- DATE_SUB()
- DATEDIFF()
- ФОРМАТ ДАТИ()
Давайте розглянемо кожну з функцій дати одну за одною детально за допомогою прикладів. Ми будемо використовувати базу даних 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 відображаються лише дата й час відповідно до вимог.