logo

Funcții de dată SQL

În acest tutorial, vom afla despre unele dintre funcțiile de dată importante care sunt încorporate în SQL.

Funcții de dată în SQL:

  1. ACUM()
  2. CURDATE()
  3. CURTIME()
  4. DATA()
  5. EXTRAGE()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. FORMATUL DATEI()

Să vedem fiecare dintre funcțiile de dată una câte una în detaliu, cu ajutorul exemplelor. Vom folosi baza de date MySQL în exemple pentru scrierea interogărilor.

Luați în considerare că avem tabelul student cu următoarele date:

ID Nume DataTime_Birth Oraș
1 Mansi Shah 2010-01-01 18:39:09 Pune
2 Tejal Wagh 04-03-2010 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 10-07-2010 20:45:18 Scrisoare

Vom folosi acest tabel în unele dintre exemple.

1. ACUM():

Funcția NOW () din SQL va oferi data și ora sistemului curent.

Sintaxă:

 SELECT NOW (); 

Exemplu:

Scrieți o interogare pentru a afișa data și ora sistemului curent.

Interogare:

 mysql> SELECT NOW () AS Current_Date_Time; 

Aici, am scris o interogare SELECT cu funcția ACUM () pentru a obține data și ora curentă a sistemului. Current_Date_Time este un alias pentru a stoca data și ora.

După executarea interogării de mai sus, am obținut următorul rezultat:

Current_Date_Time
24-10-2021 18:28:44

Data și ora la care interogarea a fost executată în sistem sunt 24thoctombrie 2021 și 18:28:44. Prin urmare, este afișat ca o ieșire.

2. CURDATE()

Funcția CURDATE () din SQL va da data sistemului curent.

Rajinikanth

Sintaxă:

 SELECT CURDATE (); 

Exemplu:

Scrieți o interogare pentru a afișa data sistemului curent.

Interogare:

 mysql> SELECT CURDATE () AS CurrentDate; 

Aici, am scris o interogare SELECT cu funcția CURDATE () pentru a obține data curentă a sistemului. CurrentDate este un alias pentru a stoca data.

După executarea interogării de mai sus, am obținut următorul rezultat:

Data curenta
24-10-2021

Data la care a fost executată interogarea în sistem este 24thOctombrie 2021. Prin urmare, este afișat ca ieșire.

3. CURTIME()

Funcția CURTIME () din SQL va da ora curentă a sistemului.

Sintaxă:

 SELECT CURTIME (); 

Exemplu:

Scrieți o interogare pentru a afișa ora sistemului curent.

Interogare:

 mysql> SELECT CURTIME () AS CurrentTime; 

Aici, am scris o interogare SELECT cu funcția CURTIME () pentru a obține ora curentă a sistemului. CurrentTime este un alias pentru a stoca ora.

După executarea interogării de mai sus, am obținut următorul rezultat:

Ora curentă
18:49:07

Ora la care a fost executată interogarea în sistem este 18:49:07. Prin urmare, este afișat ca o ieșire.

4. DATA()

Folosind funcția DATE () din SQL, puteți extrage în mod specific data din coloana tip de date DATETIME.

Sintaxă:

 SELECT DATE (DateTimeValue); 

Exemplul 1:

Scrieți o interogare pentru a afișa data de la data și ora dată, adică 2021-10-24 18:28:44.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE() pentru a obține doar data de la parametrul de dată și oră transmis funcției DATE(). SHOW_DATE este un alias pentru a stoca data.

După executarea interogării de mai sus, am obținut următorul rezultat:

SHOW_DATE
24-10-2021

Din parametrul de dată și oră, adică „2021-10-24 18:28:44”, valoarea datei este 2021-10-24. Prin urmare, este afișat ca o ieșire.

Exemplul 2:

Scrieți o interogare pentru a afișa toate detaliile din tabelul student cu data din coloana DateTime_Birth a tabelului student.

Interogare:

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

Aici, am scris o interogare SELECT pentru a prelua ID-ul și Numele. Data_of_Birth este un alias pentru DateTime_Birth. Am folosit Data_of_Birth cu funcția DATE () pentru a obține doar data.

După executarea interogării de mai sus, am obținut următorul rezultat:

ID Nume Data nașterii Oraș
1 Mansi Shah 01-01-2010 Pune
2 Tejal Wagh 04-03-2010 Nasik
3 Sejal Kumari 01-05-2010 Mumbai
4 Sonal Jain 2010-09-09 Shimla
5 Surili Maheshwari 2010-07-10 Scrisoare

Toate înregistrările sunt afișate așa cum sunt din tabelul student, cu excepția coloanei DateTime_Birth. Doar data este afișată în coloana Data_of_Birth conform cerințelor.

5. EXTRACT()

Folosind funcția EXTRACT() din SQL, putem extrage o anumită parte a datei și orei conform cerințelor noastre: zi, lună, an, zi, oră, minut etc.

Sintaxă:

 SELECT EXTRACT (PART FROM DATE / TIME); 

Exemplul 1:

Scrieți o interogare pentru a afișa anul de la data dată, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția EXTRACT () pentru a obține anul de la data dată. SHOW_YEAR este un alias pentru a stoca anul.

După executarea interogării de mai sus, am obținut următorul rezultat:

SHOW_YEAR
2021

„2021” este anul în data dată. Prin urmare, este afișat ca o ieșire.

Exemplul 2:

Scrieți o interogare pentru a afișa luna de la data dată, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția EXTRACT () pentru a obține luna de la data dată. SHOW_MONTH este un alias pentru stocarea lunii.

După executarea interogării de mai sus, am obținut următorul rezultat:

SHOW_MONTH
10

10theste valoarea lunii la data dată. Prin urmare, este afișat ca o ieșire.

Exemplul 3:

Scrieți o interogare pentru a afișa ziua de la data dată, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția EXTRACT () pentru a obține ziua de la data dată. SHOW_DAY este un alias pentru a stoca ziua.

După executarea interogării de mai sus, am obținut următorul rezultat:

SHOW_DAY
24

24theste valoarea zilei în data dată. Prin urmare, este afișat ca o ieșire.

comanda Windows arp

Exemplul 4:

Scrieți o interogare pentru a afișa ora de la ora dată, adică 19:10:43.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția EXTRACT () pentru a obține ora de la ora dată. SHOW_HOUR este un alias pentru a stoca valoarea unei ore.

După executarea interogării de mai sus, am obținut următorul rezultat:

exemple nfa
SHOW_HOUR
19

„19” este valoarea oră în timpul dat. Prin urmare, este afișat ca o ieșire.

Exemplul 5:

Scrieți o interogare pentru a afișa minutul de la ora dată, adică 19:10:43.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția EXTRACT () pentru a obține valoarea minutelor din timpul dat. SHOW_MINUTE este un alias pentru stocarea minutelor.

După executarea interogării de mai sus, am obținut următorul rezultat:

SHOW_MINUTE
10

„10” este valoarea minutei în timpul dat. Prin urmare, este afișat ca o ieșire.

Exemplul 6:

Scrieți o interogare pentru a afișa secundele de la ora dată, adică 19:10:43.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția EXTRACT () pentru a obține valoarea secundelor din timpul dat. SHOW_SECOND este un alias pentru a stoca valoarea unei secunde.

După executarea interogării de mai sus, am obținut următorul rezultat:

SHOW_SECOND
43

43 este a doua valoare din timpul dat. Prin urmare, este afișat ca o ieșire.

6. DATE_ADD()

Folosind funcția DATE_ADD () din SQL, putem adăuga un interval de timp specific la data dată.

Sintaxă:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Exemplul 1:

Scrieți o interogare pentru a adăuga un interval de 15 zile la data dată, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_ADD () pentru a adăuga un interval de 15 zile la data dată. NEW_DATE este un alias pentru a stoca valoarea unei date noi.

Veți obține următoarea ieșire:

NEW_DATE
2021-11-08

După adăugarea unui interval de 15 zile la 24-10-2021, noua dată este 08-11-2021.

Exemplul 2:

Scrieți o interogare pentru a adăuga un interval de 5 luni la data dată, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_ADD () pentru a adăuga un interval de 5 luni la data dată. NEW_DATE este un alias pentru a stoca valoarea unei date noi.

Veți obține următoarea ieșire:

NEW_DATE
24-03-2022

După adăugarea unui interval de 5 luni la 2021-10-24, noua dată este 2022-03-24.

Exemplul 3:

Scrieți o interogare pentru a adăuga un interval de 25 de ani la data dată, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_ADD () pentru a adăuga un interval de 25 de ani la data dată. NEW_DATE este un alias pentru a stoca valoarea unei date noi.

Veți obține următoarea ieșire:

NEW_DATE
2046-10-24

După adăugarea unui interval de 25 de ani la 2021-10-24, noua dată este 2046-10-24.

7. DATE_SUB()

Folosind funcția DATE_SUB () din SQL, putem elimina un anumit interval de timp de la data dată.

Sintaxă:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Exemplul 1:

Scrieți o interogare pentru a elimina un interval de 25 de ani de la data dată, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_SUB() pentru a elimina un interval de 25 de ani de la data dată. NEW_DATE este un alias pentru a stoca valoarea unei date noi.

Veți obține următoarea ieșire:

NEW_DATE
1996-10-24

După eliminarea intervalului de 25 de ani din 2021-10-24, noua dată este 1996-10-24.

Exemplul 2:

Scrieți o interogare pentru a elimina un interval de 5 luni de la data dată, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_SUB() pentru a elimina un interval de 5 luni de la data dată. NEW_DATE este un alias pentru a stoca valoarea unei date noi.

Veți obține următoarea ieșire:

NEW_DATE
24-05-2021

După eliminarea intervalului de 5 luni din 2021-10-24, noua dată este 2021-05-24.

Exemplul 3:

Scrieți o interogare pentru a elimina un interval de 15 zile de la data dată, adică 24thoctombrie 2021.

hiba bukhari

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_SUB() pentru a elimina un interval de 15 zile de la data dată. NEW_DATE este un alias pentru a stoca valoarea unei date noi.

Veți obține următoarea ieșire:

NEW_DATE
2021-10-09

După eliminarea intervalului de 15 zile din 2021-10-24, noua dată este 2021-10-09.

8. DATEDIFF()

Utilizarea funcției DATEDIFF() în SQL ne va oferi numărul de zile care se încadrează între cele două date date.

Sintaxă:

 SELECT DATEDIFF(Date1, Date2); 

Exemplul 1:

Scrieți o interogare pentru a calcula diferența dintre două date date, adică 24thoctombrie 2021 și 9thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_DIFF() pentru a obține diferența dintre datele 2021-10-24 și 2021-10-09. Number_of_Days este un alias pentru a stoca diferența în ceea ce privește numărul de zile.

Veți obține următoarea ieșire:

Număr de zile
cincisprezece

Există o diferență de 15 zile între datele 2021-10-24 și 2021-10-09.

Exemplul 2:

Scrieți o interogare pentru a calcula diferența dintre două date date, adică 5thmai 2018 și 5thmai 2008.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_DIFF () pentru a obține diferența dintre datele 2018-05-05 și 2008-05-05. Number_of_Days este un alias pentru a stoca diferența în ceea ce privește numărul de zile.

Veți obține următoarea ieșire:

Număr de zile
3652

Există o diferență de 3652 de zile între datele 2018-05-05 și 2008-05-05.

9. DATE_FORMAT()

Folosind funcția DATE_FORMAT () din SQL, putem afișa informațiile legate de dată sau oră într-un mod bine formatat.

Sintaxa utilizării unei funcții DATE_FORMAT pe coloana unui tabel:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

SAU

Sintaxă pentru a formata o anumită dată:

 SELECT DATE_FORMAT (Date, Expression); 

Exemplul 1:

Scrieți o interogare pentru a afișa data dată într-un mod bine formatat, adică 24thoctombrie 2021.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_FORMAT () pentru a obține data 2021-10-24 în forma formatată. Formatted_Date este un alias pentru a stoca data formatată.

caracter la int în java

Veți obține următoarea ieșire:

Data_formatată
Duminică 24 octombrie 2021

Duminică 24 octombrie 2021 este data formatată pentru 2021-10-24.

Exemplul 2:

Scrieți o interogare pentru a afișa data și ora dată într-un mod bine formatat, adică 24thoctombrie 2021 22:30:17.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_FORMAT () pentru a obține data și ora „2021-10-24 22:30:17” în forma formatată. Formatted_DateTime este un alias pentru a stoca data și ora formatate.

Veți obține următoarea ieșire:

Formatted_DateTime
Duminică, 24 octombrie 2021, ora 22:30:17

Duminică, 24 octombrie 2021 22:30:17 este data și ora formatate pentru 24-10-2021 22:30:17.

Exemplul 3:

Scrieți o interogare pentru a afișa toate detaliile din coloana student cu coloana DateTime_Birth într-un mod bine formatat.

Interogare:

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

Aici, am scris o interogare SELECT cu funcția DATE_FORMAT () pentru a obține data și ora pentru toate înregistrările într-o formă formatată. Formatted_DateTime este un alias pentru a stoca data și ora formatate.

Veți obține următoarea ieșire:

ID Nume Formatted_DateTime Oraș
1 Mansi Shah Vineri, 1 ianuarie 2010, ora 18:39:09 Pune
2 Tejal Wagh Joi, 4 martie 2010 05:13:19 Nasik
3 Sejal Kumari Sâmbătă, 1 mai 2010, ora 10:31:07 Mumbai
4 Sonal Jain Joi, 9 septembrie 2010 17:17:07 Shimla
5 Surili Maheshwari Sâmbătă, 10 iulie 2010, ora 20:45:18 Scrisoare

Toate înregistrările sunt afișate așa cum sunt din tabelul student, cu excepția coloanei DateTime_Birth. Doar data și ora sunt afișate în coloana Formatted_DateTime conform cerințelor.