logo

TIME Gegevenstype in SQL

  • Er zijn veel scenario's in SQL waarin u de tijd moet opslaan in de SQL-tabellen van uw database.
  • Om de tijd in uw SQL-tabellen op te slaan, moet uw eerste stap het maken van een kolom in uw tabel zijn die de tijd kan opslaan.
  • Als u wilt dat de tijd in de kolom van uw tabel wordt opgeslagen, moet u een kolom maken met het gegevenstype TIME.
  • Het gegevenstype TIME slaat de tijd standaard op in het formaat 'UU:MM:SS'.
  • Met behulp van de SELECT-instructie in SQL kunt u de tijd ophalen uit de kolom van de SQL-tabellen.
  • Naast het ophalen van de tijd in het standaardformaat waarin deze is opgeslagen, is er een functie TIME_FORMAT () in SQL waarmee de tijd kan worden opgehaald in een beter leesbaar formaat.
  • U kunt de tijd ophalen in het standaardformaat waarin deze in de tabel is opgeslagen, d.w.z. 'UU:MM:SS', of u heeft ook de mogelijkheid om specifieke delen van de tijd op te halen, zoals uren, minuten en seconden door een geschikte parameter te kiezen volgens onze vereisten en deze door te geven aan de functie TIME_FORMAT(). De tijd kan ook worden opgevraagd in een 12-uurs- en een 24-uursformaat.
  • We kunnen ook de tijd afdrukken, gevolgd door AM/PM.

Laten we enkele praktische voorbeelden bekijken om dit concept duidelijker te begrijpen. We zullen de MySQL-database gebruiken voor het schrijven van alle queries.

Om een ​​tabel in de database aan te maken, selecteren we eerst een database waarin we een tabel willen maken.

 mysql> USE dbs; 

Vervolgens schrijven we de volgende query om een ​​tabel te maken:

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

TIME Gegevenstype in SQL

In de bovenstaande query slaat de kolom met de naam ItemOrderTime de tijd op sinds het gegevenstype van deze kolom is ingesteld als 'TIME'.

Nu gaan we een query schrijven om records in de tabel items_tbl in te voegen.

java cast int naar string
 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 Gegevenstype in SQL

We zullen de SELECT-query uitvoeren om te verifiëren dat alle records met succes in de items_tbl-tabel zijn ingevoegd.

 mysql> SELECT *FROM items_tbl; 

ID kaart Itemnaam Artikel_hoeveelheid Stuksprijs Item_OrderDatum Item_OrderTime
1 Zeep 5 200 08-07-2021 04:13:52
2 Tandpasta 2 80 10-07-2021 18:09:01
3 Pen 10 vijftig 12-07-2021 12:00:02
4 Fles 1 250 13-07-2021 15:07:05
5 Borstel 3 90 15-07-2021 19:18:43
6 Notitieboekjes 10 1000 26-07-2021 05:05:05
7 Zakdoek 3 100 28-07-2021 10:08:12
8 Chips pakketje 5 vijftig 30-07-2021 08:16:58
9 Markeerstift 2 30 13-08-2021 02:18:32
10 Schaar 1 60 13-08-2021 07:17:30

Uit de bovenstaande queryresultaten blijkt dat de tijd wordt opgehaald in het standaardformaat waarin deze is opgeslagen, namelijk 'UU:MM:SS'.

Voorbeeld 1:

Schrijf een query om alle waarden uit item_tbl en de besteltijd van items op te halen in een 12-uursnotatie, samen met de AM/PM om de tijdwaarden op te halen in een beter leesbaar formaat.

Vraag:

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

Hier wordt de functie TIME_FORMAT() toegepast op Item_OrderTime met de parameter '%r' om de tijd in 12-uursnotatie af te drukken, gevolgd door AM/PM.

U krijgt de volgende tabel als uitvoer:

ID kaart Itemnaam Artikel_hoeveelheid Stuksprijs Item_OrderDatum Item_OrderTime
1 Zeep 5 200 08-07-2021 04:13:52 uur
2 Tandpasta 2 80 10-07-2021 18:09:01 uur
3 Pen 10 vijftig 12-07-2021 12:00:02 uur
4 Fles 1 250 13-07-2021 15:07:05 uur
5 Borstel 3 90 15-07-2021 19:18:43 uur
6 Notitieboekjes 10 1000 26-07-2021 05:05:05 uur
7 Zakdoek 3 100 28-07-2021 10:08:12 uur
8 Chips pakketje 5 vijftig 30-07-2021 08:16:58 uur
9 Markeerstift 2 30 13-08-2021 02:18:32 uur
10 Schaar 1 60 13-08-2021 07:17:30 uur

Voorbeeld 2:

vijandige zoektocht

Schrijf een query om alle waarden uit item_tbl en de besteltijd van items op te halen in een 12-uursnotatie, samen met de AM/PM om de tijdwaarden op te halen in een beter leesbaar formaat.

Vraag:

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

Hier wordt de functie TIME_FORMAT () toegepast op Item_OrderTime met de parameter '%T %p'. '%T' zal de tijd in 24-uursnotatie afdrukken, en '%p' zal AM/PM optellen bij de 24-uursnotatie.

U krijgt de volgende tabel als uitvoer:

ID kaart Itemnaam Artikel_hoeveelheid Stuksprijs Item_OrderDatum Item_OrderTime
1 Zeep 5 200 08-07-2021 04:13:52 uur
2 Tandpasta 2 80 10-07-2021 18:09:01 uur
3 Pen 10 vijftig 12-07-2021 12:00:02 uur
4 Fles 1 250 13-07-2021 15:07:05 uur
5 Borstel 3 90 15-07-2021 19:18:43 uur
6 Notitieboekjes 10 1000 26-07-2021 05:05:05 uur
7 Zakdoek 3 100 28-07-2021 10:08:12 uur
8 Chips pakketje 5 vijftig 30-07-2021 08:16:58 uur
9 Markeerstift 2 30 13-08-2021 02:18:32 uur
10 Schaar 1 60 13-08-2021 07:17:30 uur

Voorbeeld 3:

Schrijf een query om alle waarden uit item_tbl en alleen het besteluur van artikelen uit de gehele besteltijd op te halen in een 24-uursnotatie.

Vraag:

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

Hier wordt de functie TIME_FORMAT () toegepast op Item_OrderTime met de parameter '%H' om specifiek het uur af te drukken waarop het artikel is besteld. Hoofdletter H geeft aan dat het uur in 24-uursformaat wordt afgedrukt.

U krijgt de volgende tabel als uitvoer:

ID kaart Itemnaam Artikel_hoeveelheid Stuksprijs Item_OrderDatum Item_OrderUur
1 Zeep 5 200 08-07-2021 04
2 Tandpasta 2 80 10-07-2021 18
3 Pen 10 vijftig 12-07-2021 12
4 Fles 1 250 13-07-2021 vijftien
5 Borstel 3 90 15-07-2021 19
6 Notitieboekjes 10 1000 26-07-2021 05
7 Zakdoek 3 100 28-07-2021 10
8 Chips pakketje 5 vijftig 30-07-2021 08
9 Markeerstift 2 30 13-08-2021 02
10 Schaar 1 60 13-08-2021 07

Voorbeeld 4:

Schrijf een query om alle waarden uit item_tbl en alleen het besteluur van artikelen uit de gehele besteltijd op te halen in een 12-uursnotatie.

Vraag:

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

Hier wordt de functie TIME_FORMAT () toegepast op Item_OrderTime met de parameter '%h' om specifiek het uur af te drukken waarop het artikel is besteld. Een kleine 'h' geeft aan dat het uur in 12-uursformaat wordt afgedrukt.

U krijgt de volgende tabel als uitvoer:

middelste afbeelding in css
ID kaart Itemnaam Artikel_hoeveelheid Stuksprijs Item_OrderDatum Item_OrderUur
1 Zeep 5 200 08-07-2021 04
2 Tandpasta 2 80 10-07-2021 6
3 Pen 10 vijftig 12-07-2021 12
4 Fles 1 250 13-07-2021 03
5 Borstel 3 90 15-07-2021 07
6 Notitieboekjes 10 1000 26-07-2021 05
7 Zakdoek 3 100 28-07-2021 10
8 Chips pakketje 5 vijftig 30-07-2021 08
9 Markeerstift 2 30 13-08-2021 02
10 Schaar 1 60 13-08-2021 07

Voorbeeld 5:

Schrijf een query om alle waarden uit item_tbl op te halen en alleen de minuut waarop een item is besteld van de gehele besteltijd.

Vraag:

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

Hier wordt de functie TIME_FORMAT () toegepast op Item_OrderTime met de parameter '%i' om specifiek de minuut af te drukken waarop het artikel is besteld. Een kleine 'i' geeft aan dat de minuut van de gehele 'Item_OrderTime' wordt afgedrukt.

U krijgt de volgende tabel als uitvoer:

ID kaart Itemnaam Artikel_hoeveelheid Stuksprijs Item_OrderDatum Item_OrderMinuut
1 Zeep 5 200 08-07-2021 13
2 Tandpasta 2 80 10-07-2021 09
3 Pen 10 vijftig 12-07-2021 00
4 Fles 1 250 13-07-2021 07
5 Borstel 3 90 15-07-2021 18
6 Notitieboekjes 10 1000 26-07-2021 05
7 Zakdoek 3 100 28-07-2021 08
8 Chips pakketje 5 vijftig 30-07-2021 16
9 Markeerstift 2 30 13-08-2021 18
10 Schaar 1 60 13-08-2021 17

Voorbeeld 6:

Schrijf een query om alle waarden uit item_tbl op te halen en alleen de seconden waarop een item is besteld van de gehele besteltijd.

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

Hier wordt de functie TIME_FORMAT () toegepast op Item_OrderTime met de parameter '%S' om specifiek de seconden af ​​te drukken waarop het artikel is besteld. Hoofdletter 'S' geeft aan dat de minuut van de gehele 'Item_OrderTime' wordt afgedrukt.

U krijgt de volgende tabel als uitvoer:

ID kaart Itemnaam Artikel_hoeveelheid Stuksprijs Item_OrderDatum Item_Order_Seconden
1 Zeep 5 200 08-07-2021 52
2 Tandpasta 2 80 10-07-2021 01
3 Pen 10 vijftig 12-07-2021 02
4 Fles 1 250 13-07-2021 05
5 Borstel 3 90 15-07-2021 43
6 Notitieboekjes 10 1000 26-07-2021 05
7 Zakdoek 3 100 28-07-2021 12
8 Chips pakketje 5 vijftig 30-07-2021 58
9 Markeerstift 2 30 13-08-2021 32
10 Schaar 1 60 13-08-2021 twintig

Opmerking: het gebruik van kleine 's' in de bovenstaande query levert ook dezelfde uitvoer op.