- Yra daug SQL scenarijų, kai reikia saugoti laiką savo duomenų bazės SQL lentelėse.
- Norėdami išsaugoti laiką savo SQL lentelėse, pirmiausia turite sukurti lentelės stulpelį, kuriame būtų galima išsaugoti laiką.
- Jei norite, kad laikas būtų išsaugotas jūsų lentelės stulpelyje, turite sukurti stulpelį su duomenų tipu TIME.
- Pagal numatytuosius nustatymus TIME duomenų tipas išsaugo laiką „HH:MM:SS“ formatu.
- Naudodami SELECT sakinį SQL, galite gauti laiką iš SQL lentelių stulpelio.
- Kartu su laiko gavimu numatytuoju formatu, kuriuo jis saugomas, SQL yra funkcija TIME_FORMAT (), kurią naudojant laiką galima gauti lengviau skaitomu formatu.
- Galite nuskaityti laiką numatytuoju formatu, kuriuo jis saugomas lentelėje, t. y. „HH:MM:SS“, arba taip pat turite galimybę gauti konkrečias laiko dalis, pvz., valandas, minutes ir sekundes. pasirenkant atitinkamą parametrą pagal mūsų reikalavimą ir perduodant jį funkcijai TIME_FORMAT(). Laiką taip pat galima gauti 12 valandų ir 24 valandų formatu.
- Taip pat galime atspausdinti laiką, po kurio yra AM/PM.
Pažiūrėkime keletą praktinių pavyzdžių, kad geriau suprastume šią sąvoką. Visoms užklausoms rašyti naudosime MySQL duomenų bazę.
Norėdami sukurti lentelę duomenų bazėje, pirmiausia pasirinksime duomenų bazę, kurioje norime sukurti lentelę.
mysql> USE dbs;
Tada parašysime šią užklausą, kad sukurtume lentelę:
mysql> CREATE TABLE items_tbl(ID INT, Item_Name VARCHAR(20), Item_Quantity INT, Item_Price INT, Item_OrderDate DATE, Item_OrderTime TIME);
Aukščiau pateiktoje užklausoje stulpelyje „ItemOrderTime“ bus saugomas laikas, nes šio stulpelio duomenų tipas nustatytas kaip „TIME“.
Dabar parašysime užklausą įrašams įterpti į lentelę items_tbl.
java eilutės sujungimas
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');
Vykdysime SELECT užklausą, kad patikrintume, ar visi įrašai sėkmingai įterpti į lentelę items_tbl.
mysql> SELECT *FROM items_tbl;
ID | Daikto pavadinimas | Prekės_kiekis | Prekė_Kaina | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Muilas | 5 | 200 | 2021-07-08 | 04:13:52 |
2 | Dantų pasta | 2 | 80 | 2021-07-10 | 18:09:01 |
3 | Rašiklis | 10 | penkiasdešimt | 2021-07-12 | 12:00:02 |
4 | Butelis | 1 | 250 | 2021-07-13 | 15:07:05 |
5 | Šepetys | 3 | 90 | 2021-07-15 | 19:18:43 |
6 | Sąsiuviniai | 10 | 1000 | 2021-07-26 | 05:05:05 |
7 | Nosinė | 3 | 100 | 2021-07-28 | 10:08:12 |
8 | Lustų paketas | 5 | penkiasdešimt | 2021-07-30 | 08:16:58 |
9 | Žymeklis | 2 | 30 | 2021-08-13 | 02:18:32 |
10 | Žirklės | 1 | 60 | 2021-08-13 | 07:17:30 |
Aukščiau pateikti užklausos rezultatai rodo, kad laikas gaunamas numatytuoju formatu, kuriuo jis saugomas, t. y. „HH:MM:SS“.
1 pavyzdys:
Parašykite užklausą, kad gautumėte visas reikšmes iš item_tbl ir prekių užsakymo laiką 12 valandų formatu kartu su AM / PM, kad gautumėte laiko reikšmes lengviau skaitomu formatu.
Užklausa:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%r') AS Formatted_Time FROM items_tbl;
Čia funkcija TIME_FORMAT() taikoma Item_OrderTime su parametru „%r“, kad laikas būtų spausdinamas 12 valandų formatu, o po to AM/PM.
Kaip išvestį gausite šią lentelę:
ID | Daikto pavadinimas | Prekės_kiekis | Prekė_Kaina | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Muilas | 5 | 200 | 2021-07-08 | 04:13:52 AM |
2 | Dantų pasta | 2 | 80 | 2021-07-10 | 06:09:01 PM |
3 | Rašiklis | 10 | penkiasdešimt | 2021-07-12 | 12:00:02 PM |
4 | Butelis | 1 | 250 | 2021-07-13 | 03:07:05 PM |
5 | Šepetys | 3 | 90 | 2021-07-15 | 07:18:43 PM |
6 | Sąsiuviniai | 10 | 1000 | 2021-07-26 | 05:05:05 |
7 | Nosinė | 3 | 100 | 2021-07-28 | 10:08:12 val |
8 | Lustų paketas | 5 | penkiasdešimt | 2021-07-30 | 08:16:58 val |
9 | Žymeklis | 2 | 30 | 2021-08-13 | 02:18:32 val |
10 | Žirklės | 1 | 60 | 2021-08-13 | 07:17:30 val |
2 pavyzdys:
Parašykite užklausą, kad gautumėte visas reikšmes iš item_tbl ir prekių užsakymo laiką 12 valandų formatu kartu su AM / PM, kad gautumėte laiko reikšmes lengviau skaitomu formatu.
java filtro srautas
Užklausa:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%T %p') AS Formatted_Time FROM items_tbl;
Čia funkcija TIME_FORMAT () taikoma Item_OrderTime su parametru '%T %p'. „%T“ išspausdins laiką 24 valandų formatu, o „%p“ pridės AM/PM prie 24 valandų formatuoto laiko.
Kaip išvestį gausite šią lentelę:
ID | Daikto pavadinimas | Prekės_kiekis | Prekė_Kaina | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Muilas | 5 | 200 | 2021-07-08 | 04:13:52 AM |
2 | Dantų pasta | 2 | 80 | 2021-07-10 | 18:09:01 PM |
3 | Rašiklis | 10 | penkiasdešimt | 2021-07-12 | 12:00:02 PM |
4 | Butelis | 1 | 250 | 2021-07-13 | 15:07:05 PM |
5 | Šepetys | 3 | 90 | 2021-07-15 | 19:18:43 PM |
6 | Sąsiuviniai | 10 | 1000 | 2021-07-26 | 05:05:05 |
7 | Nosinė | 3 | 100 | 2021-07-28 | 10:08:12 val |
8 | Lustų paketas | 5 | penkiasdešimt | 2021-07-30 | 08:16:58 val |
9 | Žymeklis | 2 | 30 | 2021-08-13 | 02:18:32 val |
10 | Žirklės | 1 | 60 | 2021-08-13 | 07:17:30 val |
3 pavyzdys:
css kraštinė
Parašykite užklausą, kad gautumėte visas reikšmes iš item_tbl ir tik prekių užsakymo valandą iš viso užsakymo laiko 24 valandų formatu.
Užklausa:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%H') AS Item_OrderHour FROM items_tbl;
Čia funkcija TIME_FORMAT () taikoma Item_OrderTime su parametru „%H“, kad būtų spausdinama konkrečiai valanda, kurią prekė užsakoma. Didžioji raidė H reiškia, kad valanda bus spausdinama 24 valandų formatu.
Kaip išvestį gausite šią lentelę:
ID | Daikto pavadinimas | Prekės_kiekis | Prekė_Kaina | Item_OrderDate | Item_OrderHour |
---|---|---|---|---|---|
1 | Muilas | 5 | 200 | 2021-07-08 | 04 |
2 | Dantų pasta | 2 | 80 | 2021-07-10 | 18 |
3 | Rašiklis | 10 | penkiasdešimt | 2021-07-12 | 12 |
4 | Butelis | 1 | 250 | 2021-07-13 | penkiolika |
5 | Šepetys | 3 | 90 | 2021-07-15 | 19 |
6 | Sąsiuviniai | 10 | 1000 | 2021-07-26 | 05 |
7 | Nosinė | 3 | 100 | 2021-07-28 | 10 |
8 | Lustų paketas | 5 | penkiasdešimt | 2021-07-30 | 08 |
9 | Žymeklis | 2 | 30 | 2021-08-13 | 02 |
10 | Žirklės | 1 | 60 | 2021-08-13 | 07 |
4 pavyzdys:
Parašykite užklausą, kad gautumėte visas reikšmes iš item_tbl ir tik prekių užsakymo valandą iš viso užsakymo laiko 12 valandų formatu.
Užklausa:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%h') AS Item_OrderHour FROM items_tbl;
Čia funkcija TIME_FORMAT () taikoma Item_OrderTime su parametru „%h“, kad būtų spausdinama konkrečiai valanda, kurią prekė užsakoma. Mažas „h“ reiškia, kad valanda bus spausdinama 12 valandų formatu.
Kaip išvestį gausite šią lentelę:
žemėlapis vs rinkinys
ID | Daikto pavadinimas | Prekės_kiekis | Prekė_Kaina | Item_OrderDate | Item_OrderHour |
---|---|---|---|---|---|
1 | Muilas | 5 | 200 | 2021-07-08 | 04 |
2 | Dantų pasta | 2 | 80 | 2021-07-10 | 6 |
3 | Rašiklis | 10 | penkiasdešimt | 2021-07-12 | 12 |
4 | Butelis | 1 | 250 | 2021-07-13 | 03 |
5 | Šepetys | 3 | 90 | 2021-07-15 | 07 |
6 | Sąsiuviniai | 10 | 1000 | 2021-07-26 | 05 |
7 | Nosinė | 3 | 100 | 2021-07-28 | 10 |
8 | Lustų paketas | 5 | penkiasdešimt | 2021-07-30 | 08 |
9 | Žymeklis | 2 | 30 | 2021-08-13 | 02 |
10 | Žirklės | 1 | 60 | 2021-08-13 | 07 |
5 pavyzdys:
Parašykite užklausą, kad gautumėte visas reikšmes iš item_tbl ir tik minutę, kai prekė užsakoma iš viso užsakymo laiko.
Užklausa:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%i') AS Item_OrderMinute FROM items_tbl;
Čia funkcija TIME_FORMAT () taikoma Item_OrderTime su parametru „%i“, kad būtų spausdinama konkrečiai minutė, kurią prekė užsakoma. Mažas „i“ reiškia, kad bus atspausdinta minutė nuo viso „Item_OrderTime“.
Kaip išvestį gausite šią lentelę:
ID | Daikto pavadinimas | Prekės_kiekis | Prekė_Kaina | Item_OrderDate | Item_OrderMinute |
---|---|---|---|---|---|
1 | Muilas | 5 | 200 | 2021-07-08 | 13 |
2 | Dantų pasta | 2 | 80 | 2021-07-10 | 09 |
3 | Rašiklis | 10 | penkiasdešimt | 2021-07-12 | 00 |
4 | Butelis | 1 | 250 | 2021-07-13 | 07 |
5 | Šepetys | 3 | 90 | 2021-07-15 | 18 |
6 | Sąsiuviniai | 10 | 1000 | 2021-07-26 | 05 |
7 | Nosinė | 3 | 100 | 2021-07-28 | 08 |
8 | Lustų paketas | 5 | penkiasdešimt | 2021-07-30 | 16 |
9 | Žymeklis | 2 | 30 | 2021-08-13 | 18 |
10 | Žirklės | 1 | 60 | 2021-08-13 | 17 |
6 pavyzdys:
javascript spausdinimas
Parašykite užklausą, kad gautumėte visas reikšmes iš item_tbl ir tik sekundes, kuriomis prekė užsakoma iš viso užsakymo laiko.
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%S') AS Item_OrderSeconds FROM items_tbl;
Čia funkcija TIME_FORMAT () taikoma Item_OrderTime su parametru „%S“, kad būtų spausdinamos konkrečiai sekundės, per kurias prekė užsakoma. Didžioji raidė „S“ reiškia, kad bus spausdinama minutė nuo viso „Item_OrderTime“.
Kaip išvestį gausite šią lentelę:
ID | Daikto pavadinimas | Prekės_kiekis | Prekė_Kaina | Item_OrderDate | Prekės_užsakymas_sekundės |
---|---|---|---|---|---|
1 | Muilas | 5 | 200 | 2021-07-08 | 52 |
2 | Dantų pasta | 2 | 80 | 2021-07-10 | 01 |
3 | Rašiklis | 10 | penkiasdešimt | 2021-07-12 | 02 |
4 | Butelis | 1 | 250 | 2021-07-13 | 05 |
5 | Šepetys | 3 | 90 | 2021-07-15 | 43 |
6 | Sąsiuviniai | 10 | 1000 | 2021-07-26 | 05 |
7 | Nosinė | 3 | 100 | 2021-07-28 | 12 |
8 | Lustų paketas | 5 | penkiasdešimt | 2021-07-30 | 58 |
9 | Žymeklis | 2 | 30 | 2021-08-13 | 32 |
10 | Žirklės | 1 | 60 | 2021-08-13 | dvidešimt |