- У СКЛ-у постоји много сценарија када треба да сачувате време у СКЛ табелама ваше базе података.
- Да бисте сачували време у својим СКЛ табелама, ваш први корак би требало да буде да направите колону у вашој табели која може да ускладишти време.
- Ако желите да се време чува у колони ваше табеле, потребно је да креирате колону са типом података ТИМЕ.
- Тип података ТИМЕ подразумевано чува време у формату 'ХХ:ММ:СС'.
- Користећи наредбу СЕЛЕЦТ у СКЛ-у, можете да преузмете време из колоне СКЛ табела.
- Поред преузимања времена у подразумеваном формату у којем је сачувано, постоји функција ТИМЕ_ФОРМАТ () у СКЛ-у помоћу које се време може преузети у читљивијем формату.
- Можете да преузмете време у подразумеваном формату у којем је ускладиштено у табели, тј. „ХХ:ММ:СС“, или такође имате опцију преузимања одређених делова времена као што су сат, минут и секунде тако што ћемо изабрати одговарајући параметар према нашем захтеву и проследити га функцији ТИМЕ_ФОРМАТ(). Време се такође може преузети у 12-часовном и 24-часовном формату.
- Такође можемо да штампамо време праћено АМ/ПМ.
Хајде да видимо неколико практичних примера да бисмо јасније разумели овај концепт. Користићемо МиСКЛ базу података за писање свих упита.
Да бисмо креирали табелу у бази података, прво ћемо изабрати базу података у којој желимо да креирамо табелу.
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);
У горњем упиту, колона под називом ИтемОрдерТиме ће сачувати време од када је тип података ове колоне постављен као „ВРЕМЕ“.
Сада ћемо написати упит за уметање записа у табелу итемс_тбл.
конвенција именовања за Јава
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');
Извршићемо СЕЛЕЦТ упит да бисмо проверили да ли су сви записи успешно уметнути у табелу итемс_тбл.
mysql> SELECT *FROM items_tbl;
ИД | Назив производа | Итем_Куантити | Цена одвојено | Итем_ОрдерДате | Итем_ОрдерТиме |
---|---|---|---|---|---|
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:
Напишите упит да бисте преузели све вредности из итем_тбл и време поруџбине ставки у 12-часовном формату заједно са АМ/ПМ да бисте преузели временске вредности у читљивијем формату.
како одредити величину монитора
упит:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%r') AS Formatted_Time FROM items_tbl;
Овде се функција ТИМЕ_ФОРМАТ() примењује на Итем_ОрдерТиме са параметром '%р' за штампање времена у 12-часовном формату праћеног АМ/ПМ.
Добићете следећу табелу као излаз:
ИД | Назив производа | Итем_Куантити | Цена одвојено | Итем_ОрдерДате | Итем_ОрдерТиме |
---|---|---|---|---|---|
1 | Сапун | 5 | 200 | 2021-07-08 | 04:13:52 АМ |
2 | Паста за зубе | 2 | 80 | 2021-07-10 | 06:09:01 поподне |
3 | Хемијска оловка | 10 | педесет | 2021-07-12 | 12:00:02 поподне |
4 | Боца | 1 | 250 | 2021-07-13 | 03:07:05 поподне |
5 | Четка | 3 | 90 | 2021-07-15 | 07: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:
Напишите упит да бисте преузели све вредности из итем_тбл и време поруџбине ставки у 12-часовном формату заједно са АМ/ПМ да бисте преузели временске вредности у читљивијем формату.
упит:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%T %p') AS Formatted_Time FROM items_tbl;
Овде се функција ТИМЕ_ФОРМАТ () примењује на Итем_ОрдерТиме са параметром '%Т %п'. '%Т' ће одштампати време у 24-часовном формату, а '%п' ће додати АМ/ПМ 24-часовном форматираном времену.
Добићете следећу табелу као излаз:
линук датотеке
ИД | Назив производа | Итем_Куантити | Цена одвојено | Итем_ОрдерДате | Итем_ОрдерТиме |
---|---|---|---|---|---|
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:
Напишите упит да бисте преузели све вредности из итем_тбл и само сат поруџбине артикала из целог времена поруџбине у 24-часовном формату.
упит:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%H') AS Item_OrderHour FROM items_tbl;
Овде се функција ТИМЕ_ФОРМАТ () примењује на Итем_ОрдерТиме са параметром '%Х' да би се тачно одштампао сат у коме је артикал наручен. Велико Х означава да ће сат бити штампан у 24-часовном формату.
Добићете следећу табелу као излаз:
ИД | Назив производа | Итем_Куантити | Цена одвојено | Итем_ОрдерДате | Итем_ОрдерХоур |
---|---|---|---|---|---|
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:
Напишите упит да бисте преузели све вредности из итем_тбл и само сат поруџбине артикала из целог времена поруџбине у 12-сатном формату.
упит:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%h') AS Item_OrderHour FROM items_tbl;
Овде се функција ТИМЕ_ФОРМАТ () примењује на Итем_ОрдерТиме са параметром '%х' да би се тачно одштампао сат у којем је артикл наручен. Мало 'х' означава да ће сат бити одштампан у 12-часовном формату.
Добићете следећу табелу као излаз:
објаснити независност података
ИД | Назив производа | Итем_Куантити | Цена одвојено | Итем_ОрдерДате | Итем_ОрдерХоур |
---|---|---|---|---|---|
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:
Напишите упит да бисте преузели све вредности из итем_тбл и само минут у којем је ставка наручена од целог времена поруџбине.
упит:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%i') AS Item_OrderMinute FROM items_tbl;
Овде се функција ТИМЕ_ФОРМАТ () примењује на Итем_ОрдерТиме са параметром '%и' да би се тачно одштампао минут у којем је ставка наручена. Мало 'и' означава да ће минут из целог 'Итем_ОрдерТиме' бити одштампан.
Добићете следећу табелу као излаз:
полицајци
ИД | Назив производа | Итем_Куантити | Цена одвојено | Итем_ОрдерДате | Итем_ОрдерМинуте |
---|---|---|---|---|---|
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:
Напишите упит да бисте преузели све вредности из итем_тбл и само секунде у којима је ставка наручена од целог времена поруџбине.
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%S') AS Item_OrderSeconds FROM items_tbl;
Овде се функција ТИМЕ_ФОРМАТ () примењује на Итем_ОрдерТиме са параметром '%С' да би се тачно одштампале секунде у којима је ставка наручена. Велико 'С' означава да ће минут из целог 'Итем_ОрдерТиме' бити одштампан.
Добићете следећу табелу као излаз:
ИД | Назив производа | Итем_Куантити | Цена одвојено | Итем_ОрдерДате | Итем_Ордер_Сецондс |
---|---|---|---|---|---|
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 | двадесет |