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