logo

VRIJEME Tip podataka u SQL-u

  • Postoji mnogo scenarija u SQL-u kada trebate pohraniti vrijeme u SQL tablice vaše baze podataka.
  • Da biste pohranili vrijeme u svoje SQL tablice, vaš prvi korak trebao bi biti stvaranje stupca u vašoj tablici koji može pohraniti vrijeme.
  • Ako želite da vrijeme bude pohranjeno u stupcu vaše tablice, morate stvoriti stupac s tipom podataka VRIJEME.
  • Tip podataka TIME prema zadanim postavkama pohranjuje vrijeme u formatu 'HH:MM:SS'.
  • Koristeći naredbu SELECT u SQL-u, možete dohvatiti vrijeme iz stupca SQL tablica.
  • Uz dohvaćanje vremena u zadanom formatu u kojem je pohranjeno, u SQL-u postoji funkcija TIME_FORMAT () pomoću koje se vrijeme može dohvatiti u čitljivijem formatu.
  • Možete dohvatiti vrijeme u zadanom formatu u kojem je pohranjeno u tablici, tj. 'HH:MM:SS', ili također imate opciju dohvaćanja određenih dijelova vremena kao što su sat, minuta i sekunde odabirom odgovarajućeg parametra prema našim zahtjevima i prosljeđivanjem u funkciju TIME_FORMAT(). Vrijeme se također može dohvatiti u 12-satnom i 24-satnom formatu.
  • Također možemo ispisati vrijeme nakon kojeg slijedi AM/PM.

Pogledajmo nekoliko praktičnih primjera kako bismo jasnije razumjeli ovaj koncept. Za pisanje svih upita koristit ćemo MySQL bazu podataka.

Za izradu tablice u bazi podataka prvo ćemo odabrati bazu podataka u kojoj želimo kreirati tablicu.

 mysql> USE dbs; 

Zatim ćemo napisati sljedeći upit za izradu tablice:

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

VRIJEME Tip podataka u SQL-u

U gornjem upitu, stupac pod nazivom ItemOrderTime pohranit će vrijeme budući da je vrsta podataka ovog stupca postavljena kao 'TIME'.

Sada ćemo napisati upit za umetanje zapisa u tablicu items_tbl.

usporediti u nizu
 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'); 

VRIJEME Tip podataka u SQL-u

Izvršit ćemo upit SELECT kako bismo provjerili jesu li svi zapisi uspješno umetnuti u tablicu items_tbl.

 mysql> SELECT *FROM items_tbl; 

iskaznica Ime proizvoda Količina_artikla Cijena_artikla Stavka_Datum narudžbe Item_OrderTime
1 Sapun 5 200 2021-07-08 04:13:52
2 Pasta za zube 2 80 2021-07-10 18:09:01 sati
3 Olovka 10 pedeset 2021-07-12 12:00:02
4 Boca 1 250 2021-07-13 15:07:05
5 Četka 3 90 2021-07-15 19:18:43
6 Bilježnice 10 1000 2021-07-26 05:05:05
7 Rupčić 3 100 2021-07-28 10:08:12
8 Paket čipsa 5 pedeset 2021-07-30 08:16:58 sati
9 Marker 2 30 2021-08-13 02:18:32
10 Škare 1 60 2021-08-13 07:17:30 sati

Gornji rezultati upita pokazuju da se vrijeme dohvaća u zadanom formatu u kojem je pohranjeno, tj. 'HH:MM:SS'.

Primjer 1:

Napišite upit za dohvaćanje svih vrijednosti iz item_tbl i vremena narudžbe stavki u 12-satnom formatu zajedno s AM/PM za dohvaćanje vremenskih vrijednosti u čitljivijem formatu.

Upit:

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

Ovdje se funkcija TIME_FORMAT() primjenjuje na Item_OrderTime s parametrom '%r' za ispis vremena u 12-satnom formatu nakon kojeg slijedi AM/PM.

Dobit ćete sljedeću tablicu kao izlaz:

int za char java
iskaznica Ime proizvoda Količina_artikla Cijena_artikla Stavka_Datum narudžbe Item_OrderTime
1 Sapun 5 200 2021-07-08 04:13:52 ujutro
2 Pasta za zube 2 80 2021-07-10 18:09:01
3 Olovka 10 pedeset 2021-07-12 12:00:02 popodne
4 Boca 1 250 2021-07-13 15:07:05
5 Četka 3 90 2021-07-15 19:18:43
6 Bilježnice 10 1000 2021-07-26 05:05:05 ujutro
7 Rupčić 3 100 2021-07-28 10:08:12 ujutro
8 Paket čipsa 5 pedeset 2021-07-30 08:16:58 ujutro
9 Marker 2 30 2021-08-13 02:18:32 ujutro
10 Škare 1 60 2021-08-13 07:17:30 ujutro

Primjer 2:

Napišite upit za dohvaćanje svih vrijednosti iz item_tbl i vremena narudžbe stavki u 12-satnom formatu zajedno s AM/PM za dohvaćanje vremenskih vrijednosti u čitljivijem formatu.

Upit:

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

Ovdje se funkcija TIME_FORMAT () primjenjuje na Item_OrderTime s parametrom '%T %p'. '%T' će ispisati vrijeme u 24-satnom formatu, a '%p' će dodati AM/PM na 24-satno formatirano vrijeme.

Dobit ćete sljedeću tablicu kao izlaz:

iskaznica Ime proizvoda Količina_artikla Cijena_artikla Stavka_Datum narudžbe Item_OrderTime
1 Sapun 5 200 2021-07-08 04:13:52 ujutro
2 Pasta za zube 2 80 2021-07-10 18:09:01 sati
3 Olovka 10 pedeset 2021-07-12 12:00:02 popodne
4 Boca 1 250 2021-07-13 15:07:05 sati
5 Četka 3 90 2021-07-15 19:18:43 sati
6 Bilježnice 10 1000 2021-07-26 05:05:05 ujutro
7 Rupčić 3 100 2021-07-28 10:08:12 ujutro
8 Paket čipsa 5 pedeset 2021-07-30 08:16:58 ujutro
9 Marker 2 30 2021-08-13 02:18:32 ujutro
10 Škare 1 60 2021-08-13 07:17:30 ujutro

Primjer 3:

Napišite upit za dohvaćanje svih vrijednosti iz item_tbl i samo sata narudžbe stavki iz cijelog vremena narudžbe u 24-satnom formatu.

odaberite kao

Upit:

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

Ovdje se funkcija TIME_FORMAT () primjenjuje na Item_OrderTime s parametrom '%H' za ispis konkretnog sata u kojem je stavka naručena. Veliko H označava da će sat biti ispisan u 24-satnom formatu.

Dobit ćete sljedeću tablicu kao izlaz:

iskaznica Ime proizvoda Količina_artikla Cijena_artikla Stavka_Datum narudžbe Item_OrderHour
1 Sapun 5 200 2021-07-08 04
2 Pasta za zube 2 80 2021-07-10 18
3 Olovka 10 pedeset 2021-07-12 12
4 Boca 1 250 2021-07-13 petnaest
5 Četka 3 90 2021-07-15 19
6 Bilježnice 10 1000 2021-07-26 05
7 Rupčić 3 100 2021-07-28 10
8 Paket čipsa 5 pedeset 2021-07-30 08
9 Marker 2 30 2021-08-13 02
10 Škare 1 60 2021-08-13 07

Primjer 4:

Napišite upit za dohvaćanje svih vrijednosti iz item_tbl i samo sata narudžbe stavki iz cijelog vremena narudžbe u 12-satnom formatu.

Upit:

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

Ovdje se funkcija TIME_FORMAT () primjenjuje na Item_OrderTime s parametrom '%h' za ispis konkretnog sata u kojem je artikl naručen. Malo 'h' označava da će sat biti ispisan u 12-satnom formatu.

Dobit ćete sljedeću tablicu kao izlaz:

kako pretvoriti char u string
iskaznica Ime proizvoda Količina_artikla Cijena_artikla Stavka_Datum narudžbe Item_OrderHour
1 Sapun 5 200 2021-07-08 04
2 Pasta za zube 2 80 2021-07-10 6
3 Olovka 10 pedeset 2021-07-12 12
4 Boca 1 250 2021-07-13 03
5 Četka 3 90 2021-07-15 07
6 Bilježnice 10 1000 2021-07-26 05
7 Rupčić 3 100 2021-07-28 10
8 Paket čipsa 5 pedeset 2021-07-30 08
9 Marker 2 30 2021-08-13 02
10 Škare 1 60 2021-08-13 07

Primjer 5:

Napišite upit za dohvaćanje svih vrijednosti iz item_tbl i samo minute u kojoj je artikl naručen iz cijelog vremena narudžbe.

Upit:

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

Ovdje se funkcija TIME_FORMAT () primjenjuje na Item_OrderTime s parametrom '%i' kako bi se točno ispisala minuta u kojoj je artikl naručen. Malo 'i' označava da će se ispisati minute iz cijelog 'Item_OrderTime'.

Dobit ćete sljedeću tablicu kao izlaz:

iskaznica Ime proizvoda Količina_artikla Cijena_artikla Stavka_Datum narudžbe Item_OrderMinute
1 Sapun 5 200 2021-07-08 13
2 Pasta za zube 2 80 2021-07-10 09
3 Olovka 10 pedeset 2021-07-12 00
4 Boca 1 250 2021-07-13 07
5 Četka 3 90 2021-07-15 18
6 Bilježnice 10 1000 2021-07-26 05
7 Rupčić 3 100 2021-07-28 08
8 Paket čipsa 5 pedeset 2021-07-30 16
9 Marker 2 30 2021-08-13 18
10 Škare 1 60 2021-08-13 17

Primjer 6:

Napišite upit za dohvaćanje svih vrijednosti iz item_tbl i samo sekundi u kojima je artikl naručen iz cijelog vremena narudžbe.

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

Ovdje se funkcija TIME_FORMAT () primjenjuje na Item_OrderTime s parametrom '%S' za ispis specifičnih sekundi u kojima je stavka naručena. Veliko 'S' označava da će se ispisati minute iz cijelog 'Item_OrderTime'.

Dobit ćete sljedeću tablicu kao izlaz:

iskaznica Ime proizvoda Količina_artikla Cijena_artikla Stavka_Datum narudžbe Stavka_narudžba_sekundi
1 Sapun 5 200 2021-07-08 52
2 Pasta za zube 2 80 2021-07-10 01
3 Olovka 10 pedeset 2021-07-12 02
4 Boca 1 250 2021-07-13 05
5 Četka 3 90 2021-07-15 43
6 Bilježnice 10 1000 2021-07-26 05
7 Rupčić 3 100 2021-07-28 12
8 Paket čipsa 5 pedeset 2021-07-30 58
9 Marker 2 30 2021-08-13 32
10 Škare 1 60 2021-08-13 dvadeset

Napomena: korištenje malih 's' u gornjem upitu također će dati isti rezultat.