logo

TIME Datatype i SQL

  • Det er mange scenarier i SQL når du trenger å lagre tiden i SQL-tabellene i databasen.
  • For å lagre tiden i SQL-tabellene dine, bør det første trinnet være å lage en kolonne i tabellen som er i stand til å lagre tiden.
  • Hvis du vil at tiden skal lagres i kolonnen i tabellen din, må du opprette en kolonne med datatypen TIME.
  • Datatypen TIME lagrer som standard tiden i 'TT:MM:SS'-format.
  • Ved å bruke SELECT-setningen i SQL kan du hente tiden fra kolonnen i SQL-tabellene.
  • Sammen med å hente klokkeslettet i standardformatet den er lagret i, er det en TIME_FORMAT () funksjon i SQL som bruker tiden til å hente i et mer lesbart format.
  • Du kan hente tiden i standardformatet som den er lagret i tabellen, dvs. 'TT:MM:SS', eller du har også muligheten til å hente de spesifikke delene av tiden som time, minutt og sekunder ved å velge en passende parameter i henhold til vårt krav og sende den til funksjonen TIME_FORMAT(). Tiden kan også hentes i 12-timers og 24-timers format.
  • Vi kan også skrive ut tiden etterfulgt av AM/PM.

La oss se noen praktiske eksempler for å forstå dette konseptet klarere. Vi vil bruke MySQL-databasen for å skrive alle spørringene.

For å lage en tabell i databasen velger vi først en database som vi ønsker å lage en tabell i.

 mysql> USE dbs; 

Deretter vil vi skrive følgende spørring for å lage en tabell:

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

TIME Datatype i SQL

I spørringen ovenfor vil kolonnen kalt ItemOrderTime lagre tiden siden datatypen til denne kolonnen er satt som en 'TIME'.

Nå vil vi skrive en spørring for å sette inn poster i items_tbl-tabellen.

år datamaskinen ble oppfunnet
 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 Datatype i SQL

Vi vil utføre SELECT-spørringen for å bekrefte at alle postene er satt inn i tabellen items_tbl.

 mysql> SELECT *FROM items_tbl; 

ID Gjenstandsnavn Item_Quantity Vare_pris Item_OrderDate Item_OrderTime
1 Såpe 5 200 2021-07-08 04:13:52
2 Tannkrem 2 80 2021-07-10 18:09:01
3 Penn 10 femti 2021-07-12 12:00:02
4 Flaske 1 250 2021-07-13 15:07:05
5 Børste 3 90 2021-07-15 19:18:43
6 Notatbøker 10 1000 2021-07-26 05:05:05
7 Lommetørkle 3 100 2021-07-28 10:08:12
8 Chips-pakke 5 femti 2021-07-30 08:16:58
9 Markør 2 30 2021-08-13 02:18:32
10 Saks 1 60 2021-08-13 07:17:30

Spørringsresultatene ovenfor viser at klokkeslettet er hentet i standardformatet som det er lagret i, dvs. 'TT:MM:SS'.

Eksempel 1:

Skriv en spørring for å hente alle verdiene fra item_tbl og bestillingstiden for varer i et 12-timers format sammen med AM/PM for å hente tidsverdiene i et mer lesbart format.

dynamisk array i java

Spørsmål:

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

Her brukes TIME_FORMAT()-funksjonen på Item_OrderTime med parameteren '%r' for å skrive ut tiden i 12-timers format etterfulgt av AM/PM.

Du vil få følgende tabell som utdata:

ID Gjenstandsnavn Item_Quantity Vare_pris Item_OrderDate Item_OrderTime
1 Såpe 5 200 2021-07-08 04:13:52
2 Tannkrem 2 80 2021-07-10 18:09:01
3 Penn 10 femti 2021-07-12 12:00:02
4 Flaske 1 250 2021-07-13 15:07:05
5 Børste 3 90 2021-07-15 19:18:43
6 Notatbøker 10 1000 2021-07-26 05:05:05
7 Lommetørkle 3 100 2021-07-28 10:08:12
8 Chips-pakke 5 femti 2021-07-30 08:16:58
9 Markør 2 30 2021-08-13 02:18:32
10 Saks 1 60 2021-08-13 07:17:30

Eksempel 2:

Skriv en spørring for å hente alle verdiene fra item_tbl og bestillingstiden for varer i et 12-timers format sammen med AM/PM for å hente tidsverdiene i et mer lesbart format.

Spørsmål:

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

Her brukes TIME_FORMAT ()-funksjonen på Item_OrderTime med parameteren '%T %p'. '%T' vil skrive ut tiden i 24-timers format, og '%p' vil legge til AM/PM til den 24-timers formaterte tiden.

Du vil få følgende tabell som utdata:

skuespillerinne zeenat aman
ID Gjenstandsnavn Item_Quantity Vare_pris Item_OrderDate Item_OrderTime
1 Såpe 5 200 2021-07-08 04:13:52
2 Tannkrem 2 80 2021-07-10 18:09:01
3 Penn 10 femti 2021-07-12 12:00:02
4 Flaske 1 250 2021-07-13 15:07:05
5 Børste 3 90 2021-07-15 19:18:43
6 Notatbøker 10 1000 2021-07-26 05:05:05
7 Lommetørkle 3 100 2021-07-28 10:08:12
8 Chips-pakke 5 femti 2021-07-30 08:16:58
9 Markør 2 30 2021-08-13 02:18:32
10 Saks 1 60 2021-08-13 07:17:30

Eksempel 3:

Skriv en spørring for å hente alle verdiene fra item_tbl og bare bestillingstimen for varer fra hele bestillingstiden i et 24-timers format.

Spørsmål:

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

Her brukes TIME_FORMAT ()-funksjonen på Item_OrderTime med parameteren '%H' for å skrive ut spesifikt timen som varen er bestilt. Stor H angir at timen vil bli skrevet ut i 24-timers format.

Du vil få følgende tabell som utdata:

ID Gjenstandsnavn Item_Quantity Vare_pris Item_OrderDate Item_OrderHour
1 Såpe 5 200 2021-07-08 04
2 Tannkrem 2 80 2021-07-10 18
3 Penn 10 femti 2021-07-12 12
4 Flaske 1 250 2021-07-13 femten
5 Børste 3 90 2021-07-15 19
6 Notatbøker 10 1000 2021-07-26 05
7 Lommetørkle 3 100 2021-07-28 10
8 Chips-pakke 5 femti 2021-07-30 08
9 Markør 2 30 2021-08-13 02
10 Saks 1 60 2021-08-13 07

Eksempel 4:

Skriv en forespørsel for å hente alle verdiene fra item_tbl og bare bestillingstimen for varer fra hele bestillingstiden i et 12-timers format.

Spørsmål:

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

Her brukes TIME_FORMAT ()-funksjonen på Item_OrderTime med parameteren '%h' for å skrive ut spesifikt timen som varen er bestilt. Liten 'h' angir at timen vil bli skrevet ut i et 12-timers format.

Du vil få følgende tabell som utdata:

industri og fabrikk
ID Gjenstandsnavn Item_Quantity Vare_pris Item_OrderDate Item_OrderHour
1 Såpe 5 200 2021-07-08 04
2 Tannkrem 2 80 2021-07-10 6
3 Penn 10 femti 2021-07-12 12
4 Flaske 1 250 2021-07-13 03
5 Børste 3 90 2021-07-15 07
6 Notatbøker 10 1000 2021-07-26 05
7 Lommetørkle 3 100 2021-07-28 10
8 Chips-pakke 5 femti 2021-07-30 08
9 Markør 2 30 2021-08-13 02
10 Saks 1 60 2021-08-13 07

Eksempel 5:

Skriv en spørring for å hente alle verdiene fra item_tbl og kun minuttet som en vare er bestilt fra hele bestillingstiden.

Spørsmål:

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

Her brukes TIME_FORMAT ()-funksjonen på Item_OrderTime med parameteren '%i' for å skrive ut spesifikt minuttet varen er bestilt på. Liten 'i' angir at minuttet fra hele 'Item_OrderTime' vil bli skrevet ut.

Du vil få følgende tabell som utdata:

windows kommando arp
ID Gjenstandsnavn Item_Quantity Vare_pris Item_OrderDate Item_OrderMinute
1 Såpe 5 200 2021-07-08 1. 3
2 Tannkrem 2 80 2021-07-10 09
3 Penn 10 femti 2021-07-12 00
4 Flaske 1 250 2021-07-13 07
5 Børste 3 90 2021-07-15 18
6 Notatbøker 10 1000 2021-07-26 05
7 Lommetørkle 3 100 2021-07-28 08
8 Chips-pakke 5 femti 2021-07-30 16
9 Markør 2 30 2021-08-13 18
10 Saks 1 60 2021-08-13 17

Eksempel 6:

Skriv en spørring for å hente alle verdiene fra item_tbl og bare sekundene som en vare er bestilt fra hele bestillingstiden.

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

Her brukes TIME_FORMAT ()-funksjonen på Item_OrderTime med parameteren '%S' for å skrive ut spesifikt sekundene som varen er bestilt. Stor 'S' angir at minuttet fra hele 'Item_OrderTime' vil bli skrevet ut.

Du vil få følgende tabell som utdata:

ID Gjenstandsnavn Item_Quantity Vare_pris Item_OrderDate Item_Order_Seconds
1 Såpe 5 200 2021-07-08 52
2 Tannkrem 2 80 2021-07-10 01
3 Penn 10 femti 2021-07-12 02
4 Flaske 1 250 2021-07-13 05
5 Børste 3 90 2021-07-15 43
6 Notatbøker 10 1000 2021-07-26 05
7 Lommetørkle 3 100 2021-07-28 12
8 Chips-pakke 5 femti 2021-07-30 58
9 Markør 2 30 2021-08-13 32
10 Saks 1 60 2021-08-13 tjue

Merk: Bruk av små 'er' i spørringen ovenfor vil også gi samme utdata.