logo

TIME Тип даних у SQL

  • У SQL існує багато сценаріїв, коли вам потрібно зберігати час у таблицях SQL вашої бази даних.
  • Щоб зберігати час у ваших таблицях SQL, вашим першим кроком має бути створення стовпця у вашій таблиці, який здатний зберігати час.
  • Якщо ви хочете, щоб час зберігався в стовпці вашої таблиці, вам потрібно створити стовпець із типом даних TIME.
  • Тип даних TIME за умовчанням зберігає час у форматі «ГГ:ХХ:СС».
  • Використовуючи оператор SELECT у SQL, ви можете отримати час зі стовпця таблиць SQL.
  • Поряд із отриманням часу у форматі за замовчуванням, у якому він зберігається, у SQL існує функція TIME_FORMAT (), за допомогою якої час можна отримати у більш зручному для читання форматі.
  • Ви можете отримати час у форматі за замовчуванням, у якому він зберігається в таблиці, наприклад, «ГГ:ХХ:СС», або у вас також є можливість отримати певні частини часу, такі як години, хвилини та секунди. вибравши відповідний параметр відповідно до наших вимог і передавши його функції TIME_FORMAT(). Час також можна отримати у 12-годинному та 24-годинному форматі.
  • Ми також можемо надрукувати час, а потім AM/PM.

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

Щоб створити таблицю в базі даних, ми спочатку виберемо базу даних, у якій ми хочемо створити таблицю.

 mysql> USE dbs; 

Потім ми напишемо наступний запит для створення таблиці:

 mysql> CREATE TABLE items_tbl(ID INT, Item_Name VARCHAR(20), Item_Quantity INT, Item_Price INT, Item_OrderDate DATE, Item_OrderTime TIME); 

TIME Тип даних у SQL

У наведеному вище запиті стовпець під назвою ItemOrderTime зберігатиме час, оскільки тип даних цього стовпця встановлено як 'TIME'.

Тепер ми напишемо запит для вставки записів у таблицю items_tbl.

модем проти маршрутизатора
 mysql> INSERT INTO items_tbl(ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, Item_OrderTime) VALUES(1, 'Soap', 5, 200, '2021-07-08', '04:13:52'), (2, 'Toothpaste', 2, 80, '2021-07-10', '18:09:01'), (3, 'Pen', 10, 50, '2021-07-12', '12:00:02'), (4, 'Bottle', 1, 250, '2021-07-13', '15:07:05'), (5, 'Brush', 3, 90, '2021-07-15', '19:18:43'), (6, 'Notebooks', 10, 1000, '2021-07-26', '05:05:05'), (7, 'Handkerchief', 3, 100, '2021-07-28', '10:08:12'), (8, 'Chips Packet', 5, 50, '2021-07-30', '08:16:58'), (9, 'Marker', 2, 30, '2021-08-13', '02:18:32'), (10, 'Scissors', 1, 60, '2021-08-13', '07:17:30'); 

TIME Тип даних у SQL

Ми виконаємо запит SELECT, щоб переконатися, що всі записи успішно вставлено в таблицю items_tbl.

 mysql> SELECT *FROM items_tbl; 

ID Назва виробу Item_Quantity Item_Price Item_OrderDate Item_OrderTime
1 Мило 5 200 2021-07-08 04:13:52
2 Зубна паста 2 80 2021-07-10 18:09:01
3 Перо 10 п'ятдесят 2021-07-12 12:00:02
4 Пляшка 1 250 2021-07-13 15:07:05
5 Кисть 3 90 2021-07-15 19:18:43
6 зошити 10 1000 2021-07-26 05:05:05
7 носова хустка 3 100 2021-07-28 10:08:12
8 Пакет чіпсів 5 п'ятдесят 2021-07-30 08:16:58
9 Маркер 2 30 2021-08-13 02:18:32
10 Ножиці 1 60 2021-08-13 07:17:30

Наведені вище результати запиту показують, що час отримується у форматі за замовчуванням, у якому він зберігається, тобто «ГГ:ХХ:СС».

приклад 1:

Напишіть запит, щоб отримати всі значення з item_tbl і час замовлення товарів у 12-годинному форматі, а також AM/PM, щоб отримати значення часу в більш зручному для читання форматі.

Запит:

як вибрати стовпці з різних таблиць у sql
 mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%r') AS Formatted_Time FROM items_tbl; 

Тут функція TIME_FORMAT() застосована до Item_OrderTime з параметром «%r», щоб надрукувати час у 12-годинному форматі, а потім AM/PM.

На виході ви отримаєте наступну таблицю:

ID Назва виробу Item_Quantity Item_Price Item_OrderDate Item_OrderTime
1 Мило 5 200 2021-07-08 04:13:52 ранку
2 Зубна паста 2 80 2021-07-10 18:09:01
3 Перо 10 п'ятдесят 2021-07-12 12:00:02
4 Пляшка 1 250 2021-07-13 15:07:05
5 Кисть 3 90 2021-07-15 19:18:43
6 зошити 10 1000 2021-07-26 05:05:05 ранку
7 носова хустка 3 100 2021-07-28 10:08:12 ранку
8 Пакет чіпсів 5 п'ятдесят 2021-07-30 08:16:58 ранку
9 Маркер 2 30 2021-08-13 02:18:32 ранку
10 Ножиці 1 60 2021-08-13 07:17:30 ранку

приклад 2:

Напишіть запит, щоб отримати всі значення з item_tbl і час замовлення товарів у 12-годинному форматі, а також AM/PM, щоб отримати значення часу в більш зручному для читання форматі.

Запит:

 mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%T %p') AS Formatted_Time FROM items_tbl; 

Тут функція TIME_FORMAT () застосована до Item_OrderTime з параметром '%T %p'. «%T» надрукує час у 24-годинному форматі, а «%p» додасть AM/PM до 24-годинного формату часу.

На виході ви отримаєте наступну таблицю:

ID Назва виробу Item_Quantity Item_Price Item_OrderDate Item_OrderTime
1 Мило 5 200 2021-07-08 04:13:52 ранку
2 Зубна паста 2 80 2021-07-10 18:09:01 вечора
3 Перо 10 п'ятдесят 2021-07-12 12:00:02
4 Пляшка 1 250 2021-07-13 15:07:05 вечора
5 Кисть 3 90 2021-07-15 19:18:43 вечора
6 зошити 10 1000 2021-07-26 05:05:05 ранку
7 носова хустка 3 100 2021-07-28 10:08:12 ранку
8 Пакет чіпсів 5 п'ятдесят 2021-07-30 08:16:58 ранку
9 Маркер 2 30 2021-08-13 02:18:32 ранку
10 Ножиці 1 60 2021-08-13 07:17:30 ранку

приклад 3:

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

Запит:

список методів java
 mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%H') AS Item_OrderHour FROM items_tbl; 

Тут функція TIME_FORMAT () застосована до Item_OrderTime з параметром «%H», щоб надрукувати точну годину, коли товар замовлено. Велика H означає, що година буде надрукована у 24-годинному форматі.

На виході ви отримаєте наступну таблицю:

ID Назва виробу Item_Quantity Item_Price Item_OrderDate Item_OrderHour
1 Мило 5 200 2021-07-08 04
2 Зубна паста 2 80 2021-07-10 18
3 Перо 10 п'ятдесят 2021-07-12 12
4 Пляшка 1 250 2021-07-13 п'ятнадцять
5 Кисть 3 90 2021-07-15 19
6 зошити 10 1000 2021-07-26 05
7 носова хустка 3 100 2021-07-28 10
8 Пакет чіпсів 5 п'ятдесят 2021-07-30 08
9 Маркер 2 30 2021-08-13 02
10 Ножиці 1 60 2021-08-13 07

Приклад 4:

Напишіть запит, щоб отримати всі значення з item_tbl і лише годину замовлення товарів із усього часу замовлення в 12-годинному форматі.

Запит:

 mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%h') AS Item_OrderHour FROM items_tbl; 

Тут функція TIME_FORMAT () застосована до Item_OrderTime з параметром «%h», щоб надрукувати точну годину, коли товар замовлено. Маленьке «h» означає, що годину буде надруковано у 12-годинному форматі.

На виході ви отримаєте наступну таблицю:

команда arp
ID Назва виробу Item_Quantity Item_Price Item_OrderDate Item_OrderHour
1 Мило 5 200 2021-07-08 04
2 Зубна паста 2 80 2021-07-10 6
3 Перо 10 п'ятдесят 2021-07-12 12
4 Пляшка 1 250 2021-07-13 03
5 Кисть 3 90 2021-07-15 07
6 зошити 10 1000 2021-07-26 05
7 носова хустка 3 100 2021-07-28 10
8 Пакет чіпсів 5 п'ятдесят 2021-07-30 08
9 Маркер 2 30 2021-08-13 02
10 Ножиці 1 60 2021-08-13 07

Приклад 5:

Напишіть запит, щоб отримати всі значення з item_tbl і лише хвилину, коли товар було замовлено з усього часу замовлення.

Запит:

 mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%i') AS Item_OrderMinute FROM items_tbl; 

Тут функція TIME_FORMAT () застосована до Item_OrderTime з параметром «%i» для друку конкретної хвилини, коли товар замовлено. Маленьке «i» означає, що буде надруковано хвилину з усього «Item_OrderTime».

На виході ви отримаєте наступну таблицю:

ID Назва виробу Item_Quantity Item_Price Item_OrderDate Item_OrderMinute
1 Мило 5 200 2021-07-08 13
2 Зубна паста 2 80 2021-07-10 09
3 Перо 10 п'ятдесят 2021-07-12 00
4 Пляшка 1 250 2021-07-13 07
5 Кисть 3 90 2021-07-15 18
6 зошити 10 1000 2021-07-26 05
7 носова хустка 3 100 2021-07-28 08
8 Пакет чіпсів 5 п'ятдесят 2021-07-30 16
9 Маркер 2 30 2021-08-13 18
10 Ножиці 1 60 2021-08-13 17

Приклад 6:

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

 mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%S') AS Item_OrderSeconds FROM items_tbl; 

Тут функція TIME_FORMAT () застосована до Item_OrderTime з параметром «%S», щоб надрукувати конкретні секунди, за які товар було замовлено. Велика 'S' означає, що буде надруковано хвилину з усього 'Item_OrderTime'.

інакше, якщо bash

На виході ви отримаєте наступну таблицю:

ID Назва виробу Item_Quantity Item_Price Item_OrderDate Item_Order_Seconds
1 Мило 5 200 2021-07-08 52
2 Зубна паста 2 80 2021-07-10 01
3 Перо 10 п'ятдесят 2021-07-12 02
4 Пляшка 1 250 2021-07-13 05
5 Кисть 3 90 2021-07-15 43
6 зошити 10 1000 2021-07-26 05
7 носова хустка 3 100 2021-07-28 12
8 Пакет чіпсів 5 п'ятдесят 2021-07-30 58
9 Маркер 2 30 2021-08-13 32
10 Ножиці 1 60 2021-08-13 двадцять

Примітка. Використання малих 's' у наведеному вище запиті також дасть той самий результат.