logo

TIME Duomenų tipas SQL

  • 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); 

TIME Duomenų tipas SQL

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'); 

TIME Duomenų tipas SQL

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

Pastaba: naudojant mažus „s“ aukščiau pateiktoje užklausoje taip pat bus gauta tokia pati išvestis.