- SQL:ssä on monia skenaarioita, kun sinun on tallennettava aika tietokantasi SQL-taulukoihin.
- Tallentaaksesi ajan SQL-taulukoihisi, sinun tulee ensin luoda taulukkoon sarake, joka pystyy tallentamaan ajan.
- Jos haluat, että aika tallennetaan taulukkosi sarakkeeseen, sinun on luotava sarake TIME-tietotyypillä.
- TIME-tietotyyppi tallentaa ajan oletusarvoisesti muodossa 'HH:MM:SS'.
- SQL:n SELECT-käskyn avulla voit hakea ajan SQL-taulukoiden sarakkeesta.
- Sen lisäksi, että kellonaika noudetaan oletusmuodossa, jossa se on tallennettu, SQL:ssä on TIME_FORMAT () -funktio, jonka avulla aika voidaan hakea luettavammassa muodossa.
- Voit hakea ajan oletusmuodossa, jossa se on tallennettu taulukkoon, eli 'HH:MM:SS', tai sinulla on myös mahdollisuus hakea tietyt ajan osat, kuten tunnit, minuutit ja sekunnit. valitsemalla sopiva parametri vaatimuksemme mukaan ja välittämällä se TIME_FORMAT()-funktiolle. Kellonajan voi hakea myös 12 tunnin ja 24 tunnin muodossa.
- Voimme myös tulostaa kellonajan, jota seuraa AM/PM.
Katsotaanpa muutamia käytännön esimerkkejä ymmärtääksemme tätä käsitettä selkeämmin. Käytämme MySQL-tietokantaa kaikkien kyselyiden kirjoittamiseen.
Taulukon luomiseksi tietokantaan valitsemme ensin tietokannan, johon haluamme luoda taulukon.
mysql> USE dbs;
Sitten kirjoitamme seuraavan kyselyn taulukon luomiseksi:
mysql> CREATE TABLE items_tbl(ID INT, Item_Name VARCHAR(20), Item_Quantity INT, Item_Price INT, Item_OrderDate DATE, Item_OrderTime TIME);
Yllä olevassa kyselyssä sarake nimeltä ItemOrderTime tallentaa ajan, koska tämän sarakkeen tietotyypiksi on asetettu TIME.
Nyt kirjoitamme kyselyn tietueiden lisäämiseksi items_tbl-taulukkoon.
ascii-taulukko 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');
Suoritamme SELECT-kyselyn varmistaaksemme, että kaikki tietueet on lisätty onnistuneesti items_tbl-taulukkoon.
mysql> SELECT *FROM items_tbl;
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Saippua | 5 | 200 | 08.07.2021 | 04:13:52 |
2 | Hammastahna | 2 | 80 | 10.7.2021 | 18:09:01 |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 | 12:00:02 |
4 | Pullo | 1 | 250 | 13.7.2021 | 15:07:05 |
5 | Harjata | 3 | 90 | 15.7.2021 | 19:18:43 |
6 | Muistikirjat | 10 | 1000 | 26.7.2021 | 05:05:05 |
7 | Nenäliina | 3 | 100 | 28.7.2021 | 10:08:12 |
8 | Chips-paketti | 5 | viisikymmentä | 30.7.2021 | 08:16:58 |
9 | Merkki | 2 | 30 | 13.8.2021 | 02:18:32 |
10 | Sakset | 1 | 60 | 13.8.2021 | 07:17:30 |
Yllä olevat kyselytulokset osoittavat, että aika haetaan oletusmuodossa, jossa se on tallennettu, eli 'HH:MM:SS'.
Esimerkki 1:
Kirjoita kysely hakeaksesi kaikki arvot item_tbl:sta ja nimikkeiden tilausajat 12 tunnin muodossa sekä AM/PM, jotta aika-arvot voidaan noutaa luettavammassa muodossa.
Kysely:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%r') AS Formatted_Time FROM items_tbl;
Tässä TIME_FORMAT()-funktiota käytetään Item_OrderTime-parametrilla '%r', jotta aika tulostetaan 12 tunnin muodossa ja sen jälkeen AM/PM.
valitse sql useista taulukoista
Tuloksena saat seuraavan taulukon:
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Saippua | 5 | 200 | 08.07.2021 | 04:13:52 AM |
2 | Hammastahna | 2 | 80 | 10.7.2021 | 18:09:01 |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 | 12:00:02 PM |
4 | Pullo | 1 | 250 | 13.7.2021 | 03:07:05 PM |
5 | Harjata | 3 | 90 | 15.7.2021 | 19:18:43 |
6 | Muistikirjat | 10 | 1000 | 26.7.2021 | 05:05:05 AM |
7 | Nenäliina | 3 | 100 | 28.7.2021 | 10:08:12 AM |
8 | Chips-paketti | 5 | viisikymmentä | 30.7.2021 | 08:16:58 AM |
9 | Merkki | 2 | 30 | 13.8.2021 | 02:18:32 AM |
10 | Sakset | 1 | 60 | 13.8.2021 | 07:17:30 AM |
Esimerkki 2:
Kirjoita kysely hakeaksesi kaikki arvot item_tbl:sta ja nimikkeiden tilausajat 12 tunnin muodossa sekä AM/PM, jotta aika-arvot voidaan noutaa luettavammassa muodossa.
Kysely:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%T %p') AS Formatted_Time FROM items_tbl;
Tässä toimintoa TIME_FORMAT () käytetään Item_OrderTime-parametrilla '%T %p'. '%T' tulostaa ajan 24 tunnin muodossa ja '%p' lisää AM/PM 24 tunnin muotoiltuun aikaan.
merkkijono json-objektiin
Tuloksena saat seuraavan taulukon:
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Item_OrderDate | Item_OrderTime |
---|---|---|---|---|---|
1 | Saippua | 5 | 200 | 08.07.2021 | 04:13:52 AM |
2 | Hammastahna | 2 | 80 | 10.7.2021 | 18:09:01 PM |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 | 12:00:02 PM |
4 | Pullo | 1 | 250 | 13.7.2021 | 15:07:05 PM |
5 | Harjata | 3 | 90 | 15.7.2021 | 19:18:43 PM |
6 | Muistikirjat | 10 | 1000 | 26.7.2021 | 05:05:05 AM |
7 | Nenäliina | 3 | 100 | 28.7.2021 | 10:08:12 AM |
8 | Chips-paketti | 5 | viisikymmentä | 30.7.2021 | 08:16:58 AM |
9 | Merkki | 2 | 30 | 13.8.2021 | 02:18:32 AM |
10 | Sakset | 1 | 60 | 13.8.2021 | 07:17:30 AM |
Esimerkki 3:
Kirjoita kysely hakeaksesi kaikki arvot item_tbl:stä ja vain tuotteiden tilaustunnit koko tilausajasta 24 tunnin muodossa.
Kysely:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%H') AS Item_OrderHour FROM items_tbl;
Tässä TIME_FORMAT () -funktiota käytetään Item_OrderTime-parametrilla '%H' tulostamaan nimenomaan tunti, jolloin tuote tilataan. Iso kirjain H tarkoittaa, että tunti tulostetaan 24 tunnin muodossa.
Tuloksena saat seuraavan taulukon:
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Item_OrderDate | Item_OrderHour |
---|---|---|---|---|---|
1 | Saippua | 5 | 200 | 08.07.2021 | 04 |
2 | Hammastahna | 2 | 80 | 10.7.2021 | 18 |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 | 12 |
4 | Pullo | 1 | 250 | 13.7.2021 | viisitoista |
5 | Harjata | 3 | 90 | 15.7.2021 | 19 |
6 | Muistikirjat | 10 | 1000 | 26.7.2021 | 05 |
7 | Nenäliina | 3 | 100 | 28.7.2021 | 10 |
8 | Chips-paketti | 5 | viisikymmentä | 30.7.2021 | 08 |
9 | Merkki | 2 | 30 | 13.8.2021 | 02 |
10 | Sakset | 1 | 60 | 13.8.2021 | 07 |
Esimerkki 4:
Kirjoita kysely hakeaksesi kaikki arvot item_tbl:stä ja vain tuotteiden tilaustunnit koko tilausajasta 12 tunnin muodossa.
Kysely:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%h') AS Item_OrderHour FROM items_tbl;
Tässä TIME_FORMAT () -funktiota käytetään Item_OrderTime-parametrilla '%h' tulostamaan nimenomaan tunti, jolloin tuote tilataan. Pieni 'h' tarkoittaa, että tunnit tulostetaan 12 tunnin muodossa.
Tuloksena saat seuraavan taulukon:
skriptien ajaminen linuxissa
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Item_OrderDate | Item_OrderHour |
---|---|---|---|---|---|
1 | Saippua | 5 | 200 | 08.07.2021 | 04 |
2 | Hammastahna | 2 | 80 | 10.7.2021 | 6 |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 | 12 |
4 | Pullo | 1 | 250 | 13.7.2021 | 03 |
5 | Harjata | 3 | 90 | 15.7.2021 | 07 |
6 | Muistikirjat | 10 | 1000 | 26.7.2021 | 05 |
7 | Nenäliina | 3 | 100 | 28.7.2021 | 10 |
8 | Chips-paketti | 5 | viisikymmentä | 30.7.2021 | 08 |
9 | Merkki | 2 | 30 | 13.8.2021 | 02 |
10 | Sakset | 1 | 60 | 13.8.2021 | 07 |
Esimerkki 5:
Kirjoita kysely hakeaksesi kaikki arvot item_tbl:stä ja vain minuutti, jolloin tuote tilataan koko tilausajasta.
Kysely:
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%i') AS Item_OrderMinute FROM items_tbl;
Tässä TIME_FORMAT () -funktiota käytetään Item_OrderTime-parametrilla '%i', jolloin tulostetaan nimenomaan se minuutti, jolloin tuote tilataan. Pieni 'i' tarkoittaa, että minuutti koko 'Item_OrderTime'-tilauksesta tulostetaan.
powershell pienempi tai yhtä suuri kuin
Tuloksena saat seuraavan taulukon:
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Item_OrderDate | Item_OrderMinute |
---|---|---|---|---|---|
1 | Saippua | 5 | 200 | 08.07.2021 | 13 |
2 | Hammastahna | 2 | 80 | 10.7.2021 | 09 |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 | 00 |
4 | Pullo | 1 | 250 | 13.7.2021 | 07 |
5 | Harjata | 3 | 90 | 15.7.2021 | 18 |
6 | Muistikirjat | 10 | 1000 | 26.7.2021 | 05 |
7 | Nenäliina | 3 | 100 | 28.7.2021 | 08 |
8 | Chips-paketti | 5 | viisikymmentä | 30.7.2021 | 16 |
9 | Merkki | 2 | 30 | 13.8.2021 | 18 |
10 | Sakset | 1 | 60 | 13.8.2021 | 17 |
Esimerkki 6:
Kirjoita kysely hakeaksesi kaikki arvot item_tbl:stä ja vain sekunnit, jolloin tuote tilataan koko tilausajasta.
mysql> SELECT ID, Item_Name, Item_Quantity, Item_Price, Item_OrderDate, TIME_FORMAT (Item_OrderTime, '%S') AS Item_OrderSeconds FROM items_tbl;
Tässä TIME_FORMAT () -funktiota käytetään Item_OrderTime-parametrilla '%S' tulostamaan nimenomaan sekunnit, jolloin tuote tilataan. Iso 'S' tarkoittaa, että minuutti koko 'Item_OrderTime'-kohdasta tulostetaan.
Tuloksena saat seuraavan taulukon:
ID | Tuotteen nimi | Tuote_määrä | Tuote_hinta | Item_OrderDate | Item_Order_Seconds |
---|---|---|---|---|---|
1 | Saippua | 5 | 200 | 08.07.2021 | 52 |
2 | Hammastahna | 2 | 80 | 10.7.2021 | 01 |
3 | Kynä | 10 | viisikymmentä | 12.7.2021 | 02 |
4 | Pullo | 1 | 250 | 13.7.2021 | 05 |
5 | Harjata | 3 | 90 | 15.7.2021 | 43 |
6 | Muistikirjat | 10 | 1000 | 26.7.2021 | 05 |
7 | Nenäliina | 3 | 100 | 28.7.2021 | 12 |
8 | Chips-paketti | 5 | viisikymmentä | 30.7.2021 | 58 |
9 | Merkki | 2 | 30 | 13.8.2021 | 32 |
10 | Sakset | 1 | 60 | 13.8.2021 | kaksikymmentä |