logo

SQL funkcije datuma

U ovom vodiču naučit ćemo o nekim od važnih funkcija datuma koje su ugrađene u SQL.

Funkcije datuma u SQL-u:

  1. SADA()
  2. CURDATE()
  3. CURTIME()
  4. DATUM()
  5. EKSTRAKT()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. OBLIK DATUMA()

Pogledajmo detaljno svaku funkciju datuma jednu po jednu uz pomoć primjera. Koristit ćemo MySQL bazu podataka u primjerima za pisanje upita.

Uzmimo u obzir da imamo tablicu učenika sa sljedećim podacima:

iskaznica Ime DatumVrijeme_Rođenje Grad
1 Mansi Šah 2010-01-01 18:39:09 Pune
2 Tejal Wagh 2010-03-04 05:13:19 Nasik
3 Sejal Kumari 2010-05-01 10:31:07 Mumbai
4 Sonal Jain 2010-09-09 17:17:07 Shimla
5 Surili Maheshwari 2010-07-10 20:45:18 Pismo

Koristit ćemo ovu tablicu u nekim od primjera.

1. SADA():

NOW () funkcija u SQL-u dat će datum i vrijeme trenutnog sustava.

Sintaksa:

 SELECT NOW (); 

Primjer:

Napišite upit za prikaz datuma i vremena trenutnog sustava.

Upit:

 mysql> SELECT NOW () AS Current_Date_Time; 

Ovdje smo napisali SELECT upit s funkcijom NOW () kako bismo dobili trenutni datum i vrijeme sustava. Current_Date_Time je alias za pohranjivanje datuma i vremena.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

Trenutačni_datum_vrijeme
2021-10-24 18:28:44

Datum i vrijeme kada je upit izvršen u sustavu su 24thlistopada 2021. i 18:28:44. Stoga se prikazuje kao izlaz.

2. CURDATE()

Funkcija CURDATE () u SQL-u dat će trenutni datum sustava.

vba

Sintaksa:

 SELECT CURDATE (); 

Primjer:

Napišite upit za prikaz trenutnog datuma sustava.

Upit:

 mysql> SELECT CURDATE () AS CurrentDate; 

Ovdje smo napisali SELECT upit s funkcijom CURDATE () kako bismo dobili trenutni datum sustava. CurrentDate je alias za pohranjivanje datuma.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

Trenutni datum
2021-10-24

Datum kada je upit izvršen u sustavu je 24thlistopada 2021. Stoga se prikazuje kao izlaz.

3. CURTIME()

Funkcija CURTIME () u SQL-u će dati trenutno vrijeme sustava.

Sintaksa:

 SELECT CURTIME (); 

Primjer:

Napišite upit za prikaz trenutnog vremena sustava.

Upit:

 mysql> SELECT CURTIME () AS CurrentTime; 

Ovdje smo napisali SELECT upit s funkcijom CURTIME () kako bismo dobili trenutno vrijeme sustava. CurrentTime je alias za pohranu vremena.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

Trenutno vrijeme
18:49:07

Vrijeme u kojem je upit izvršen u sustavu je 18:49:07. Stoga se prikazuje kao izlaz.

4. DATUM()

Koristeći funkciju DATE () u SQL-u, možete posebno izdvojiti datum iz stupca tipa podataka DATETIME.

Sintaksa:

 SELECT DATE (DateTimeValue); 

Primjer 1:

Napišite upit za prikaz datuma od zadanog datuma i vremena, tj. 2021-10-24 18:28:44.

Upit:

 mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE () kako bismo dobili samo datum iz parametra datuma i vremena proslijeđenog funkciji DATE(). SHOW_DATE je alias za pohranjivanje datuma.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

SHOW_DATE
2021-10-24

Iz parametra datuma i vremena, tj. '2021-10-24 18:28:44', vrijednost datuma je 2021-10-24. Stoga se prikazuje kao izlaz.

Primjer 2:

Napišite upit za prikaz svih detalja iz tablice učenika s datumom iz stupca DateTime_Birth tablice učenika.

Upit:

 mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student; 

Ovdje smo napisali SELECT upit za dohvaćanje ID-a i imena. Date_of_Birth je alias za DateTime_Birth. Koristili smo Date_of_Birth s funkcijom DATE () kako bismo dobili samo datum.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

iskaznica Ime Datum rođenja Grad
1 Mansi Šah 2010-01-01 Pune
2 Tejal Wagh 2010-03-04 Nasik
3 Sejal Kumari 2010-05-01 Mumbai
4 Sonal Jain 2010-09-09 Shimla
5 Surili Maheshwari 2010-07-10 Pismo

Svi se zapisi prikazuju onakvi kakvi jesu iz tablice učenika osim stupca DateTime_Birth. U stupcu Date_of_Birth prikazuje se samo datum prema zahtjevu.

5. EKSTRAKT()

Pomoću funkcije EXTRACT() u SQL-u možemo izdvojiti određeni dio datuma i vremena prema našim zahtjevima: dan, mjesec, godina, dan, sat, minuta itd.

Sintaksa:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Primjer 1:

Napišite upit za prikaz godine od zadanog datuma, tj. 24thlistopada 2021.

Upit:

 mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR; 

Ovdje smo napisali SELECT upit s funkcijom EXTRACT () za dobivanje godine od zadanog datuma. SHOW_YEAR je alias za pohranu godine.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

SHOW_YEAR
2021

'2021' je godina u navedenom datumu. Stoga se prikazuje kao izlaz.

Primjer 2:

Napišite upit za prikaz mjeseca od zadanog datuma, tj. 24thlistopada 2021.

Upit:

 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

Ovdje smo napisali SELECT upit s funkcijom EXTRACT () za dobivanje mjeseca od zadanog datuma. SHOW_MONTH je alias za pohranu mjeseca.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

SHOW_MONTH
10

10thje mjesečna vrijednost u zadanom datumu. Stoga se prikazuje kao izlaz.

primjer OS otvorenog koda je

Primjer 3:

Napišite upit za prikaz dana od zadanog datuma, tj. 24thlistopada 2021.

Upit:

 mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY; 

Ovdje smo napisali SELECT upit s funkcijom EXTRACT () da dobijemo dan od zadanog datuma. SHOW_DAY je alias za pohranjivanje dana.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

SHOW_DAY
24

24thje dnevna vrijednost u danom datumu. Stoga se prikazuje kao izlaz.

Primjer 4:

Napišite upit za prikaz sata od zadanog vremena, tj. 19:10:43.

Upit:

 mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR; 

Ovdje smo napisali SELECT upit s funkcijom EXTRACT () da dobijemo sat iz zadanog vremena. SHOW_HOUR je alias za pohranjivanje vrijednosti jednog sata.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

SHOW_HOUR
19

'19' je vrijednost sata u danom vremenu. Stoga se prikazuje kao izlaz.

Primjer 5:

Napišite upit za prikaz minuta od zadanog vremena, tj. 19:10:43.

Upit:

 mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE; 

Ovdje smo napisali SELECT upit s funkcijom EXTRACT () za dobivanje vrijednosti minuta iz zadanog vremena. SHOW_MINUTE je alias za pohranjivanje minuta.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

SHOW_MINUTE
10

'10' je vrijednost minuta u zadanom vremenu. Stoga se prikazuje kao izlaz.

Primjer 6:

Napišite upit za prikaz sekundi od zadanog vremena, tj. 19:10:43.

Upit:

 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

Ovdje smo napisali SELECT upit s funkcijom EXTRACT () kako bismo dobili vrijednost sekundi iz zadanog vremena. SHOW_SECOND je alias za pohranjivanje vrijednosti sekunde.

Nakon izvršenja gornjeg upita, dobili smo sljedeći rezultat:

SHOW_SECOND
43

43 je druga vrijednost u zadanom vremenu. Stoga se prikazuje kao izlaz.

koje godine je izumljeno računalo

6. DATE_ADD()

Pomoću funkcije DATE_ADD () u SQL-u možemo dodati određeni vremenski interval zadanom datumu.

Sintaksa:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Primjer 1:

Napišite upit za dodavanje intervala od 15 dana zadanom datumu, tj. 24thlistopada 2021.

Upit:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE_ADD () za dodavanje intervala od 15 dana zadanom datumu. NEW_DATE je alias za pohranjivanje vrijednosti novog datuma.

Dobit ćete sljedeći izlaz:

NEW_DATE
2021-11-08

Nakon dodavanja intervala od 15 dana na 2021-10-24, novi datum je 2021-11-08.

Primjer 2:

Napišite upit za dodavanje intervala od 5 mjeseci zadanom datumu, tj. 24thlistopada 2021.

Upit:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE_ADD () za dodavanje intervala od 5 mjeseci zadanom datumu. NEW_DATE je alias za pohranjivanje vrijednosti novog datuma.

Dobit ćete sljedeći izlaz:

NEW_DATE
2022-03-24

Nakon dodavanja intervala od 5 mjeseci na 2021-10-24, novi datum je 2022-03-24.

Primjer 3:

Napišite upit za dodavanje intervala od 25 godina zadanom datumu, tj. 24thlistopada 2021.

Upit:

 mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE_ADD () za dodavanje intervala od 25 godina zadanom datumu. NEW_DATE je alias za pohranjivanje vrijednosti novog datuma.

java generira slučajni broj

Dobit ćete sljedeći izlaz:

NEW_DATE
2046-10-24

Nakon dodavanja intervala od 25 godina na 2021-10-24, novi datum je 2046-10-24.

7. DATE_SUB()

Pomoću funkcije DATE_SUB () u SQL-u možemo ukloniti određeni vremenski interval od zadanog datuma.

Sintaksa:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Primjer 1:

Napišite upit za uklanjanje intervala od 25 godina od zadanog datuma, tj. 24.thlistopada 2021.

Upit:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE_SUB() za uklanjanje intervala od 25 godina od zadanog datuma. NEW_DATE je alias za pohranjivanje vrijednosti novog datuma.

Dobit ćete sljedeći izlaz:

NEW_DATE
1996-10-24

Nakon uklanjanja intervala od 25 godina od 2021-10-24, novi datum je 1996-10-24.

Primjer 2:

Napišite upit za uklanjanje intervala od 5 mjeseci od zadanog datuma, tj. 24thlistopada 2021.

Upit:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE_SUB() za uklanjanje intervala od 5 mjeseci od zadanog datuma. NEW_DATE je alias za pohranjivanje vrijednosti novog datuma.

Dobit ćete sljedeći izlaz:

NEW_DATE
2021-05-24

Nakon uklanjanja intervala od 5 mjeseci od 2021-10-24, novi datum je 2021-05-24.

Primjer 3:

Napišite upit za uklanjanje intervala od 15 dana od zadanog datuma, tj. 24.thlistopada 2021.

Upit:

 mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE_SUB() za uklanjanje intervala od 15 dana od zadanog datuma. NEW_DATE je alias za pohranjivanje vrijednosti novog datuma.

Dobit ćete sljedeći izlaz:

NEW_DATE
2021-10-09

Nakon uklanjanja intervala od 15 dana iz 2021-10-24, novi datum je 2021-10-09.

8. DATEDIFF()

Korištenje funkcije DATEDIFF() u SQL-u dat će nam broj dana koji padaju između dva navedena datuma.

Sintaksa:

 SELECT DATEDIFF(Date1, Date2); 

Primjer 1:

Napišite upit za izračunavanje razlike između dva data datuma, tj. 24thlistopada 2021. i 9thlistopada 2021.

Upit:

 mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE_DIFF() kako bismo dobili razliku između datuma 2021-10-24 i 2021-10-09. Number_of_Days je alias za pohranu razlike u smislu broja dana.

Dobit ćete sljedeći izlaz:

Broj dana
petnaest

Postoji razlika od 15 dana između datuma 2021-10-24 i 2021-10-09.

Primjer 2:

Napišite upit za izračunavanje razlike između dva data datuma, tj. 5thsvibnja 2018. i 5thsvibnja 2008.

Upit:

 mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE; 

Ovdje smo napisali SELECT upit s funkcijom DATE_DIFF () kako bismo dobili razliku između datuma 2018-05-05 i 2008-05-05. Number_of_Days je alias za pohranu razlike u smislu broja dana.

Dobit ćete sljedeći izlaz:

Broj dana
3652

Između datuma 2018-05-05 i 2008-05-05 postoji razlika od 3652 dana.

9. DATE_FORMAT()

Pomoću funkcije DATE_FORMAT () u SQL-u možemo prikazati podatke vezane uz datum ili vrijeme na dobro formatiran način.

Sintaksa upotrebe funkcije DATE_FORMAT na stupcu tablice:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

ILI

Sintaksa za oblikovanje određenog datuma:

 SELECT DATE_FORMAT (Date, Expression); 

Primjer 1:

Napišite upit za prikaz zadanog datuma na dobro formatiran način, tj. 24thlistopada 2021.

Upit:

 mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date; 

Ovdje smo napisali SELECT upit s funkcijom DATE_FORMAT () kako bismo dobili datum 2021-10-24 u formatiranom obliku. Formatted_Date je alias za pohranjivanje formatiranog datuma.

sql poredak slučajnim odabirom

Dobit ćete sljedeći izlaz:

Formatirani_datum
Nedjelja 24. listopada 2021

Nedjelja, 24. listopada 2021. je formatirani datum za 2021-10-24.

Primjer 2:

Napišite upit za prikaz zadanog datuma i vremena na dobro formatiran način, tj. 24thListopad, 2021. 22:30:17.

Upit:

 mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime; 

Ovdje smo napisali SELECT upit s funkcijom DATE_FORMAT () kako bismo dobili datum i vrijeme '2021-10-24 22:30:17' u formatiranom obliku. Formatted_DateTime je alias za pohranjivanje formatiranog datuma i vremena.

Dobit ćete sljedeći izlaz:

Formatirani_DatumVrijeme
Nedjelja, 24. listopada 2021. 22:30:17

Nedjelja, 24. listopada 2021., 22:30:17 je formatirani datum i vrijeme za 2021-10-24 22:30:17.

Primjer 3:

Napišite upit za prikaz svih pojedinosti iz stupca student sa stupcem DateTime_Birth na dobro formatiran način.

Upit:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

Ovdje smo napisali SELECT upit s funkcijom DATE_FORMAT () kako bismo dobili datum i vrijeme za sve zapise u formatiranom obliku. Formatted_DateTime je alias za pohranjivanje formatiranog datuma i vremena.

Dobit ćete sljedeći izlaz:

iskaznica Ime Formatirani_DatumVrijeme Grad
1 Mansi Šah Petak, 1. siječnja 2010. 18:39:09 Pune
2 Tejal Wagh Četvrtak, 4. ožujka 2010. 05:13:19 Nasik
3 Sejal Kumari Subota, 1. svibnja 2010. 10:31:07 Mumbai
4 Sonal Jain Četvrtak, 9. rujna 2010. 17:17:07 Shimla
5 Surili Maheshwari Subota, 10. srpnja 2010. 20:45:18 Pismo

Svi se zapisi prikazuju onakvi kakvi jesu iz tablice učenika osim stupca DateTime_Birth. U stupcu Formatted_DateTime prikazuju se samo datum i vrijeme prema potrebi.