- Hi ha molts escenaris en SQL quan necessiteu emmagatzemar el temps a les taules SQL de la vostra base de dades.
- Per emmagatzemar l'hora a les taules SQL, el primer pas hauria de ser crear una columna a la taula que sigui capaç d'emmagatzemar l'hora.
- Si voleu que l'hora s'emmagatzemi a la columna de la vostra taula, heu de crear una columna amb el tipus de dades TIME.
- El tipus de dades TIME per defecte emmagatzema l'hora en format 'HH:MM:SS'.
- Mitjançant la instrucció SELECT a SQL, podeu recuperar l'hora de la columna de les taules SQL.
- A més de recuperar l'hora en el format predeterminat en què s'emmagatzema, hi ha una funció TIME_FORMAT () en SQL amb la qual es pot recuperar l'hora en un format més llegible.
- Podeu recuperar l'hora en el format predeterminat en què s'emmagatzema a la taula, és a dir, 'HH:MM:SS', o també teniu l'opció de recuperar les parts específiques del temps com ara l'hora, el minut i els segons. escollint un paràmetre adequat segons el nostre requisit i passant-lo a la funció TIME_FORMAT(). L'hora també es pot recuperar en un format de 12 hores i un de 24 hores.
- També podem imprimir l'hora seguida de AM/PM.
Vegem alguns exemples pràctics per entendre aquest concepte amb més claredat. Utilitzarem la base de dades MySQL per escriure totes les consultes.
Per crear una taula a la base de dades, primer seleccionarem una base de dades en la qual volem crear una taula.
mysql> USE dbs;
A continuació, escriurem la següent consulta per crear una taula:
mysql> CREATE TABLE items_tbl(ID INT, Item_Name VARCHAR(20), Item_Quantity INT, Item_Price INT, Item_OrderDate DATE, Item_OrderTime TIME);
A la consulta anterior, la columna anomenada ItemOrderTime emmagatzemarà el temps des que el tipus de dades d'aquesta columna s'ha definit com a 'TIME'.
Ara, escriurem una consulta per inserir registres a la taula items_tbl.
mylivecriclet
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');
Executarem la consulta SELECT per verificar que tots els registres s'han inserit correctament a la taula items_tbl.
mysql> SELECT *FROM items_tbl;
ID | Nom de l'ítem | Item_Quantity | Article_Preu | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Sabó | 5 | 200 | 2021-07-08 | 04:13:52 |
2 | Pasta de dents | 2 | 80 | 2021-07-10 | 18:09:01 |
3 | Bolígraf | 10 | 50 | 2021-07-12 | 12:00:02 |
4 | Ampolla | 1 | 250 | 2021-07-13 | 15:07:05 |
5 | Raspall | 3 | 90 | 2021-07-15 | 19:18:43 |
6 | Quaderns | 10 | 1000 | 2021-07-26 | 05:05:05 |
7 | Mocador | 3 | 100 | 2021-07-28 | 10:08:12 |
8 | Paquet de xips | 5 | 50 | 2021-07-30 | 08:16:58 |
9 | Marcador | 2 | 30 | 2021-08-13 | 02:18:32 |
10 | Tisores | 1 | 60 | 2021-08-13 | 07:17:30 |
Els resultats de la consulta anteriors mostren que l'hora es recupera en el format predeterminat en què s'emmagatzema, és a dir, 'HH:MM:SS'.
Exemple 1:
Escriviu una consulta per recuperar tots els valors de l'element_tbl i l'hora de la comanda dels elements en un format de 12 hores juntament amb AM/PM per recuperar els valors de l'hora en un format més llegible.
Consulta:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%r') AS Formatted_Time FROM items_tbl;
Aquí, la funció TIME_FORMAT() s'aplica a Item_OrderTime amb el paràmetre '%r' per imprimir l'hora en format de 12 hores seguit de AM/PM.
Obtindreu la següent taula com a sortida:
actor chiranjeevi
ID | Nom de l'ítem | Item_Quantity | Article_Preu | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Sabó | 5 | 200 | 2021-07-08 | 04:13:52 AM |
2 | Pasta de dents | 2 | 80 | 2021-07-10 | 06:09:01 PM |
3 | Bolígraf | 10 | 50 | 2021-07-12 | 12:00:02 PM |
4 | Ampolla | 1 | 250 | 2021-07-13 | 03:07:05 PM |
5 | Raspall | 3 | 90 | 2021-07-15 | 07:18:43 PM |
6 | Quaderns | 10 | 1000 | 2021-07-26 | 05:05:05 AM |
7 | Mocador | 3 | 100 | 2021-07-28 | 10:08:12 AM |
8 | Paquet de xips | 5 | 50 | 2021-07-30 | 08:16:58 AM |
9 | Marcador | 2 | 30 | 2021-08-13 | 02:18:32 AM |
10 | Tisores | 1 | 60 | 2021-08-13 | 07:17:30 AM |
Exemple 2:
Escriviu una consulta per recuperar tots els valors de l'element_tbl i l'hora de la comanda dels elements en un format de 12 hores juntament amb AM/PM per recuperar els valors de l'hora en un format més llegible.
Consulta:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%T %p') AS Formatted_Time FROM items_tbl;
Aquí, la funció TIME_FORMAT () s'aplica a Item_OrderTime amb el paràmetre '%T %p'. '%T' imprimirà l'hora en format de 24 hores, i '%p' afegirà AM/PM a l'hora amb format de 24 hores.
Obtindreu la següent taula com a sortida:
ID | Nom de l'ítem | Item_Quantity | Article_Preu | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Sabó | 5 | 200 | 2021-07-08 | 04:13:52 AM |
2 | Pasta de dents | 2 | 80 | 2021-07-10 | 18:09:01 PM |
3 | Bolígraf | 10 | 50 | 2021-07-12 | 12:00:02 PM |
4 | Ampolla | 1 | 250 | 2021-07-13 | 15:07:05 PM |
5 | Raspall | 3 | 90 | 2021-07-15 | 19:18:43 PM |
6 | Quaderns | 10 | 1000 | 2021-07-26 | 05:05:05 AM |
7 | Mocador | 3 | 100 | 2021-07-28 | 10:08:12 AM |
8 | Paquet de xips | 5 | 50 | 2021-07-30 | 08:16:58 AM |
9 | Marcador | 2 | 30 | 2021-08-13 | 02:18:32 AM |
10 | Tisores | 1 | 60 | 2021-08-13 | 07:17:30 AM |
Exemple 3:
Escriviu una consulta per recuperar tots els valors de item_tbl i només l'hora de la comanda dels articles de tot el temps de la comanda en un format de 24 hores.
paràmetre verilog
Consulta:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%H') AS Item_OrderHour FROM items_tbl;
Aquí, la funció TIME_FORMAT () s'aplica a Item_OrderTime amb el paràmetre '%H' per imprimir específicament l'hora en què es fa la comanda. La H majúscula indica que l'hora s'imprimirà en format de 24 hores.
Obtindreu la següent taula com a sortida:
ID | Nom de l'ítem | Item_Quantity | Article_Preu | Item_OrderDate | Item_OrderHour |
---|---|---|---|---|---|
1 | Sabó | 5 | 200 | 2021-07-08 | 04 |
2 | Pasta de dents | 2 | 80 | 2021-07-10 | 18 |
3 | Bolígraf | 10 | 50 | 2021-07-12 | 12 |
4 | Ampolla | 1 | 250 | 2021-07-13 | 15 |
5 | Raspall | 3 | 90 | 2021-07-15 | 19 |
6 | Quaderns | 10 | 1000 | 2021-07-26 | 05 |
7 | Mocador | 3 | 100 | 2021-07-28 | 10 |
8 | Paquet de xips | 5 | 50 | 2021-07-30 | 08 |
9 | Marcador | 2 | 30 | 2021-08-13 | 02 |
10 | Tisores | 1 | 60 | 2021-08-13 | 07 |
Exemple 4:
Escriviu una consulta per recuperar tots els valors de item_tbl i només l'hora de la comanda dels articles de tot el temps de la comanda en un format de 12 hores.
Consulta:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%h') AS Item_OrderHour FROM items_tbl;
Aquí, la funció TIME_FORMAT () s'aplica a Item_OrderTime amb el paràmetre '%h' per imprimir específicament l'hora en què es fa la comanda. La 'h' petita indica que l'hora s'imprimirà en un format de 12 hores.
Obtindreu la següent taula com a sortida:
caràcter a int en java
ID | Nom de l'ítem | Item_Quantity | Article_Preu | Item_OrderDate | Item_OrderHour |
---|---|---|---|---|---|
1 | Sabó | 5 | 200 | 2021-07-08 | 04 |
2 | Pasta de dents | 2 | 80 | 2021-07-10 | 6 |
3 | Bolígraf | 10 | 50 | 2021-07-12 | 12 |
4 | Ampolla | 1 | 250 | 2021-07-13 | 03 |
5 | Raspall | 3 | 90 | 2021-07-15 | 07 |
6 | Quaderns | 10 | 1000 | 2021-07-26 | 05 |
7 | Mocador | 3 | 100 | 2021-07-28 | 10 |
8 | Paquet de xips | 5 | 50 | 2021-07-30 | 08 |
9 | Marcador | 2 | 30 | 2021-08-13 | 02 |
10 | Tisores | 1 | 60 | 2021-08-13 | 07 |
Exemple 5:
Escriviu una consulta per recuperar tots els valors de l'element_tbl i només el minut en què es demana un article de tot el temps de comanda.
Consulta:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%i') AS Item_OrderMinute FROM items_tbl;
Aquí, la funció TIME_FORMAT () s'aplica a Item_OrderTime amb el paràmetre '%i' per imprimir específicament el minut en què es fa la comanda. La 'i' petita indica que s'imprimirà el minut de l''Item_OrderTime' complet.
Obtindreu la següent taula com a sortida:
ID | Nom de l'ítem | Item_Quantity | Article_Preu | Item_OrderDate | Item_OrderMinute |
---|---|---|---|---|---|
1 | Sabó | 5 | 200 | 2021-07-08 | 13 |
2 | Pasta de dents | 2 | 80 | 2021-07-10 | 09 |
3 | Bolígraf | 10 | 50 | 2021-07-12 | 00 |
4 | Ampolla | 1 | 250 | 2021-07-13 | 07 |
5 | Raspall | 3 | 90 | 2021-07-15 | 18 |
6 | Quaderns | 10 | 1000 | 2021-07-26 | 05 |
7 | Mocador | 3 | 100 | 2021-07-28 | 08 |
8 | Paquet de xips | 5 | 50 | 2021-07-30 | 16 |
9 | Marcador | 2 | 30 | 2021-08-13 | 18 |
10 | Tisores | 1 | 60 | 2021-08-13 | 17 |
Exemple 6:
Escriu una consulta per recuperar tots els valors de l'element_tbl i només els segons en què es demana un article de tot el temps de comanda.
regexp_like a mysql
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%S') AS Item_OrderSeconds FROM items_tbl;
Aquí, la funció TIME_FORMAT () s'aplica a Item_OrderTime amb el paràmetre '%S' per imprimir específicament els segons en què es demana l'article. La 'S' majúscula indica que s'imprimirà el minut de l''Item_OrderTime' complet.
Obtindreu la següent taula com a sortida:
ID | Nom de l'ítem | Item_Quantity | Article_Preu | Item_OrderDate | Element_Ordre_Segons |
---|---|---|---|---|---|
1 | Sabó | 5 | 200 | 2021-07-08 | 52 |
2 | Pasta de dents | 2 | 80 | 2021-07-10 | 01 |
3 | Bolígraf | 10 | 50 | 2021-07-12 | 02 |
4 | Ampolla | 1 | 250 | 2021-07-13 | 05 |
5 | Raspall | 3 | 90 | 2021-07-15 | 43 |
6 | Quaderns | 10 | 1000 | 2021-07-26 | 05 |
7 | Mocador | 3 | 100 | 2021-07-28 | 12 |
8 | Paquet de xips | 5 | 50 | 2021-07-30 | 58 |
9 | Marcador | 2 | 30 | 2021-08-13 | 32 |
10 | Tisores | 1 | 60 | 2021-08-13 | 20 |