logo

TIME-Datentyp in SQL

  • Es gibt viele Szenarios in SQL, in denen Sie die Zeit in den SQL-Tabellen Ihrer Datenbank speichern müssen.
  • Um die Zeit in Ihren SQL-Tabellen zu speichern, sollte Ihr erster Schritt darin bestehen, eine Spalte in Ihrer Tabelle zu erstellen, die die Zeit speichern kann.
  • Wenn Sie möchten, dass die Zeit in der Spalte Ihrer Tabelle gespeichert wird, müssen Sie eine Spalte mit dem Datentyp TIME erstellen.
  • Der Datentyp TIME speichert die Zeit standardmäßig im Format „HH:MM:SS“.
  • Mit der SELECT-Anweisung in SQL können Sie die Uhrzeit aus der Spalte der SQL-Tabellen abrufen.
  • Neben dem Abrufen der Uhrzeit im Standardformat, in dem sie gespeichert ist, gibt es in SQL eine Funktion TIME_FORMAT(), mit der die Uhrzeit in einem besser lesbaren Format abgerufen werden kann.
  • Sie können die Uhrzeit im Standardformat abrufen, in dem sie in der Tabelle gespeichert ist, d. h. „HH:MM:SS“, oder Sie haben auch die Möglichkeit, bestimmte Teile der Uhrzeit wie Stunde, Minute und Sekunde abzurufen indem wir einen geeigneten Parameter gemäß unserer Anforderung auswählen und ihn an die Funktion TIME_FORMAT() übergeben. Die Uhrzeit kann auch im 12-Stunden- und im 24-Stunden-Format abgerufen werden.
  • Wir können auch die Uhrzeit gefolgt von AM/PM drucken.

Sehen wir uns einige praktische Beispiele an, um dieses Konzept besser zu verstehen. Wir werden die MySQL-Datenbank zum Schreiben aller Abfragen verwenden.

Um eine Tabelle in der Datenbank zu erstellen, wählen wir zunächst eine Datenbank aus, in der wir eine Tabelle erstellen möchten.

 mysql> USE dbs; 

Dann schreiben wir die folgende Abfrage, um eine Tabelle zu erstellen:

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

TIME-Datentyp in SQL

In der obigen Abfrage speichert die Spalte „ItemOrderTime“ die Zeit, seit der Datentyp dieser Spalte auf „TIME“ festgelegt ist.

Jetzt schreiben wir eine Abfrage zum Einfügen von Datensätzen in die Tabelle items_tbl.

Namenskonvention für Java
 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-Datentyp in SQL

Wir führen die SELECT-Abfrage aus, um zu überprüfen, ob alle Datensätze erfolgreich in die Tabelle items_tbl eingefügt wurden.

 mysql> SELECT *FROM items_tbl; 

AUSWEIS Artikelname Artikel Menge Stückpreis Item_OrderDate Item_OrderTime
1 Seife 5 200 08.07.2021 04:13:52
2 Zahnpasta 2 80 10.07.2021 18:09:01
3 Stift 10 fünfzig 12.07.2021 12:00:02
4 Flasche 1 250 13.07.2021 15:07:05
5 Bürste 3 90 15.07.2021 19:18:43
6 Notizbücher 10 1000 26.07.2021 05:05:05
7 Taschentuch 3 100 28.07.2021 10:08:12
8 Chips-Paket 5 fünfzig 30.07.2021 08:16:58
9 Marker 2 30 13.08.2021 02:18:32
10 Schere 1 60 13.08.2021 07:17:30

Die obigen Abfrageergebnisse zeigen, dass die Uhrzeit im Standardformat abgerufen wird, in dem sie gespeichert ist, d. h. „HH:MM:SS“.

Beispiel 1:

Schreiben Sie eine Abfrage, um alle Werte aus item_tbl und die Bestellzeit von Artikeln im 12-Stunden-Format abzurufen, zusammen mit AM/PM, um die Zeitwerte in einem besser lesbaren Format abzurufen.

Abfrage:

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

Hier wird die Funktion TIME_FORMAT() auf Item_OrderTime mit dem Parameter „%r“ angewendet, um die Uhrzeit im 12-Stunden-Format gefolgt von AM/PM zu drucken.

Jahr, in dem der Computer erfunden wurde

Als Ausgabe erhalten Sie die folgende Tabelle:

AUSWEIS Artikelname Artikel Menge Stückpreis Item_OrderDate Item_OrderTime
1 Seife 5 200 08.07.2021 04:13:52 Uhr
2 Zahnpasta 2 80 10.07.2021 18:09:01 Uhr
3 Stift 10 fünfzig 12.07.2021 12:00:02 Uhr
4 Flasche 1 250 13.07.2021 15:07:05 Uhr
5 Bürste 3 90 15.07.2021 19:18:43 Uhr
6 Notizbücher 10 1000 26.07.2021 05:05:05 Uhr
7 Taschentuch 3 100 28.07.2021 10:08:12 Uhr
8 Chips-Paket 5 fünfzig 30.07.2021 08:16:58 Uhr
9 Marker 2 30 13.08.2021 02:18:32 Uhr
10 Schere 1 60 13.08.2021 07:17:30 Uhr

Beispiel 2:

Schreiben Sie eine Abfrage, um alle Werte aus item_tbl und die Bestellzeit von Artikeln im 12-Stunden-Format abzurufen, zusammen mit AM/PM, um die Zeitwerte in einem besser lesbaren Format abzurufen.

Abfrage:

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

Hier wird die Funktion TIME_FORMAT() auf Item_OrderTime mit dem Parameter „%T %p“ angewendet. „%T“ gibt die Uhrzeit im 24-Stunden-Format aus und „%p“ fügt AM/PM zur 24-Stunden-Formatierung hinzu.

Spring-Boot-Architektur

Als Ausgabe erhalten Sie die folgende Tabelle:

AUSWEIS Artikelname Artikel Menge Stückpreis Item_OrderDate Item_OrderTime
1 Seife 5 200 08.07.2021 04:13:52 Uhr
2 Zahnpasta 2 80 10.07.2021 18:09:01 Uhr
3 Stift 10 fünfzig 12.07.2021 12:00:02 Uhr
4 Flasche 1 250 13.07.2021 15:07:05 Uhr
5 Bürste 3 90 15.07.2021 19:18:43 Uhr
6 Notizbücher 10 1000 26.07.2021 05:05:05 Uhr
7 Taschentuch 3 100 28.07.2021 10:08:12 Uhr
8 Chips-Paket 5 fünfzig 30.07.2021 08:16:58 Uhr
9 Marker 2 30 13.08.2021 02:18:32 Uhr
10 Schere 1 60 13.08.2021 07:17:30 Uhr

Beispiel 3:

Schreiben Sie eine Abfrage, um alle Werte aus der item_tbl und nur die Bestellstunde der Artikel aus der gesamten Bestellzeit im 24-Stunden-Format abzurufen.

Abfrage:

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

Hier wird die Funktion TIME_FORMAT() auf Item_OrderTime mit dem Parameter „%H“ angewendet, um gezielt die Stunde zu drucken, zu der der Artikel bestellt wird. Das große H bedeutet, dass die Stunde im 24-Stunden-Format gedruckt wird.

Als Ausgabe erhalten Sie die folgende Tabelle:

AUSWEIS Artikelname Artikel Menge Stückpreis Item_OrderDate Item_OrderHour
1 Seife 5 200 08.07.2021 04
2 Zahnpasta 2 80 10.07.2021 18
3 Stift 10 fünfzig 12.07.2021 12
4 Flasche 1 250 13.07.2021 fünfzehn
5 Bürste 3 90 15.07.2021 19
6 Notizbücher 10 1000 26.07.2021 05
7 Taschentuch 3 100 28.07.2021 10
8 Chips-Paket 5 fünfzig 30.07.2021 08
9 Marker 2 30 13.08.2021 02
10 Schere 1 60 13.08.2021 07

Beispiel 4:

Schreiben Sie eine Abfrage, um alle Werte aus der item_tbl und nur die Bestellstunde der Artikel aus der gesamten Bestellzeit im 12-Stunden-Format abzurufen.

Abfrage:

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

Hier wird die Funktion TIME_FORMAT() auf Item_OrderTime mit dem Parameter „%h“ angewendet, um gezielt die Stunde zu drucken, zu der der Artikel bestellt wird. Ein kleines „h“ bedeutet, dass die Stunde im 12-Stunden-Format gedruckt wird.

Als Ausgabe erhalten Sie die folgende Tabelle:

unveränderliche Liste
AUSWEIS Artikelname Artikel Menge Stückpreis Item_OrderDate Item_OrderHour
1 Seife 5 200 08.07.2021 04
2 Zahnpasta 2 80 10.07.2021 6
3 Stift 10 fünfzig 12.07.2021 12
4 Flasche 1 250 13.07.2021 03
5 Bürste 3 90 15.07.2021 07
6 Notizbücher 10 1000 26.07.2021 05
7 Taschentuch 3 100 28.07.2021 10
8 Chips-Paket 5 fünfzig 30.07.2021 08
9 Marker 2 30 13.08.2021 02
10 Schere 1 60 13.08.2021 07

Beispiel 5:

Schreiben Sie eine Abfrage, um alle Werte aus der item_tbl und nur die Minute, in der ein Artikel bestellt wurde, aus der gesamten Bestellzeit abzurufen.

Abfrage:

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

Hier wird die Funktion TIME_FORMAT() auf Item_OrderTime mit dem Parameter „%i“ angewendet, um genau die Minute auszudrucken, in der der Artikel bestellt wird. Ein kleines „i“ bedeutet, dass die Minute der gesamten „Item_OrderTime“ gedruckt wird.

Was ist SVN-Checkout?

Als Ausgabe erhalten Sie die folgende Tabelle:

AUSWEIS Artikelname Artikel Menge Stückpreis Item_OrderDate Item_OrderMinute
1 Seife 5 200 08.07.2021 13
2 Zahnpasta 2 80 10.07.2021 09
3 Stift 10 fünfzig 12.07.2021 00
4 Flasche 1 250 13.07.2021 07
5 Bürste 3 90 15.07.2021 18
6 Notizbücher 10 1000 26.07.2021 05
7 Taschentuch 3 100 28.07.2021 08
8 Chips-Paket 5 fünfzig 30.07.2021 16
9 Marker 2 30 13.08.2021 18
10 Schere 1 60 13.08.2021 17

Beispiel 6:

Schreiben Sie eine Abfrage, um alle Werte aus der item_tbl und nur die Sekunden abzurufen, in denen ein Artikel aus der gesamten Bestellzeit bestellt wurde.

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

Hier wird die Funktion TIME_FORMAT() auf Item_OrderTime mit dem Parameter „%S“ angewendet, um gezielt die Sekunden zu drucken, in denen der Artikel bestellt wird. Das große „S“ gibt an, dass die Minute der gesamten „Item_OrderTime“ gedruckt wird.

Als Ausgabe erhalten Sie die folgende Tabelle:

AUSWEIS Artikelname Artikel Menge Stückpreis Item_OrderDate Item_Order_Seconds
1 Seife 5 200 08.07.2021 52
2 Zahnpasta 2 80 10.07.2021 01
3 Stift 10 fünfzig 12.07.2021 02
4 Flasche 1 250 13.07.2021 05
5 Bürste 3 90 15.07.2021 43
6 Notizbücher 10 1000 26.07.2021 05
7 Taschentuch 3 100 28.07.2021 12
8 Chips-Paket 5 fünfzig 30.07.2021 58
9 Marker 2 30 13.08.2021 32
10 Schere 1 60 13.08.2021 zwanzig

Hinweis: Die Verwendung kleiner „s“ in der obigen Abfrage führt ebenfalls zur gleichen Ausgabe.