logo

SQL datuma funkcijas

Šajā apmācībā mēs uzzināsim par dažām svarīgām datuma funkcijām, kas ir iebūvētas SQL.

Datuma funkcijas SQL:

  1. TAGAD ()
  2. KRĀPIENS()
  3. KURTIME()
  4. DATUMS()
  5. EKSTRAKTS()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. DATUMA FORMĀTS()

Apskatīsim katru datuma funkciju pa vienam detalizēti, izmantojot piemērus. Vaicājumu rakstīšanas piemēros mēs izmantosim MySQL datu bāzi.

Apsveriet, ka mums ir studentu tabula ar šādiem datiem:

ID Vārds Datums un laiks_dzimšanas laiks Pilsēta
1 Mansi Šahs 2010-01-01 18:39:09 Pune
2 Tejals Vags 2010-03-04 05:13:19 Nasik
3 Sejals Kumari 2010-05-01 10:31:07 Mumbaja
4 Sonal Jain 2010-09-09 17:17:07 Šimla
5 Surili Mahešvari 2010-07-10 20:45:18 Vēstule

Dažos piemēros izmantosim šo tabulu.

1. TAGAD():

TAGAD () funkcija SQL sniegs pašreizējās sistēmas datumu un laiku.

Sintakse:

 SELECT NOW (); 

Piemērs:

Uzrakstiet vaicājumu, lai parādītu pašreizējās sistēmas datumu un laiku.

Vaicājums:

 mysql> SELECT NOW () AS Current_Date_Time; 

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju NOW (), lai iegūtu sistēmas pašreizējo datumu un laiku. Current_Date_Time ir aizstājvārds datuma un laika saglabāšanai.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

Pašreizējais_datums_laiks
2021-10-24 18:28:44

Datums un laiks, kurā vaicājums tika izpildīts sistēmā, ir 24th2021. gada oktobris un 18:28:44. Tādējādi tas tiek parādīts kā izeja.

2. KURĀTS()

CURDATE () funkcija SQL sniegs pašreizējās sistēmas datumu.

vienāds ar java

Sintakse:

 SELECT CURDATE (); 

Piemērs:

Uzrakstiet vaicājumu, lai parādītu pašreizējās sistēmas datumu.

Vaicājums:

 mysql> SELECT CURDATE () AS CurrentDate; 

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju CURDATE (), lai iegūtu sistēmas pašreizējo datumu. CurrentDate ir aizstājvārds datuma saglabāšanai.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

Šodienas datums
2021-10-24

Datums, kurā vaicājums tika izpildīts sistēmā, ir 24th2021. gada oktobris. Tādējādi tas tiek parādīts kā izvade.

3. CURTIME()

CURTIME () funkcija SQL sniegs pašreizējo sistēmas laiku.

Sintakse:

 SELECT CURTIME (); 

Piemērs:

Uzrakstiet vaicājumu, lai parādītu pašreizējo sistēmas laiku.

Vaicājums:

 mysql> SELECT CURTIME () AS CurrentTime; 

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju CURTIME (), lai iegūtu sistēmas pašreizējo laiku. CurrentTime ir aizstājvārds laika glabāšanai.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

Pašreizējais laiks
18:49:07

Laiks, kurā vaicājums tika izpildīts sistēmā, ir 18:49:07. Tādējādi tas tiek parādīts kā izeja.

4. DATE()

Izmantojot SQL funkciju DATE (), varat īpaši izvilkt datumu no datu tipa kolonnas DATETIME.

Sintakse:

 SELECT DATE (DateTimeValue); 

1. piemērs:

Uzrakstiet vaicājumu, lai parādītu datumu no norādītā datuma un laika, t.i., 2021-10-24 18:28:44.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE (), lai iegūtu tikai datumu no datuma un laika parametra, kas nodots funkcijai DATE (). SHOW_DATE ir aizstājvārds datuma saglabāšanai.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

SHOW_DATE
2021-10-24

No datuma un laika parametra, t.i., “2021-10-24 18:28:44”, datuma vērtība ir 2021-10-24. Tādējādi tas tiek parādīts kā izeja.

2. piemērs:

Uzrakstiet vaicājumu, lai parādītu visu informāciju no skolēnu tabulas ar datumu no studenta tabulas kolonnas DateTime_Birth.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu, lai iegūtu ID un vārdu. Date_of_Birth ir aizstājvārds DateTime_Birth. Mēs esam izmantojuši Date_of_Birth ar funkciju DATE (), lai iegūtu tikai datumu.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

ID Vārds Dzimšanas datums Pilsēta
1 Mansi Šahs 2010-01-01 Pune
2 Tejals Vags 2010-03-04 Nasik
3 Sejals Kumari 2010-05-01 Mumbaja
4 Sonal Jain 2010-09-09 Šimla
5 Surili Mahešvari 2010-07-10 Vēstule

Visi ieraksti tiek parādīti tā, kā tas ir no studentu tabulas, izņemot kolonnu DateTime_Birth. Saskaņā ar prasību kolonnā Date_of_Birth tiek parādīts tikai datums.

5. IZRAKSTS()

Izmantojot SQL funkciju EXTRACT(), mēs varam iegūt noteiktu datuma un laika daļu atbilstoši mūsu prasībām: diena, mēnesis, gads, diena, stunda, minūte utt.

Sintakse:

 SELECT EXTRACT (PART FROM DATE / TIME); 

1. piemērs:

Uzrakstiet vaicājumu, lai parādītu gadu no norādītā datuma, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu gadu no norādītā datuma. SHOW_YEAR ir aizstājvārds gada glabāšanai.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

SHOW_YEAR
2021. gads

“2021” ir gads norādītajā datumā. Tādējādi tas tiek parādīts kā izeja.

2. piemērs:

Uzrakstiet vaicājumu, lai parādītu mēnesi no norādītā datuma, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu mēnesi no norādītā datuma. SHOW_MONTH ir aizstājvārds mēneša glabāšanai.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

mysql unikālā atslēga
SHOW_MONTH
10

10thir mēneša vērtība dotajā datumā. Tādējādi tas tiek parādīts kā izeja.

3. piemērs:

Uzrakstiet vaicājumu, lai parādītu dienu no norādītā datuma, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu dienu no norādītā datuma. SHOW_DAY ir dienas glabāšanas aizstājvārds.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

SHOW_DAY
24

24thir dienas vērtība dotajā datumā. Tādējādi tas tiek parādīts kā izeja.

4. piemērs:

Uzrakstiet vaicājumu, lai parādītu stundu no noteiktā laika, t.i., 19:10:43.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu stundu no noteiktā laika. SHOW_HOUR ir aizstājvārds stundas vērtības glabāšanai.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

SHOW_HOUR
19

“19” ir stundu vērtība dotajā laikā. Tādējādi tas tiek parādīts kā izeja.

5. piemērs:

Uzrakstiet vaicājumu, lai parādītu minūti no dotā laika, t.i., 19:10:43.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu minūtes vērtību no dotā laika. SHOW_MINUTE ir aizstājvārds minūtes glabāšanai.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

SHOW_MINUTE
10

“10” ir minūtes vērtība dotajā laikā. Tādējādi tas tiek parādīts kā izeja.

6. piemērs:

Uzrakstiet vaicājumu, lai parādītu sekundes no dotā laika, t.i., 19:10:43.

Vaicājums:

atlasiet sql no vairākām tabulām
 mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND; 

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu sekunžu vērtību no dotā laika. SHOW_SECOND ir aizstājvārds, lai saglabātu sekundes vērtību.

Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:

SHOW_SECOND
43

43 ir otrā vērtība dotajā laikā. Tādējādi tas tiek parādīts kā izeja.

6. DATE_ADD()

Izmantojot SQL funkciju DATE_ADD (), mēs varam pievienot noteiktu laika intervālu norādītajam datumam.

Sintakse:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

1. piemērs:

Uzrakstiet vaicājumu, lai norādītajam datumam pievienotu 15 dienu intervālu, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_ADD (), lai norādītajam datumam pievienotu 15 dienu intervālu. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.

Jūs saņemsiet šādu izvadi:

JAUNUMS_DATE
2021-11-08

Pēc 15 dienu intervāla pievienošanas 2021-10-24 jaunais datums ir 2021-11-08.

2. piemērs:

Uzrakstiet vaicājumu, lai norādītajam datumam pievienotu 5 mēnešu intervālu, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_ADD (), lai norādītajam datumam pievienotu 5 mēnešu intervālu. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.

Jūs saņemsiet šādu izvadi:

JAUNUMS_DATE
2022-03-24

Pēc 5 mēnešu intervāla pievienošanas 2021-10-24 jaunais datums ir 2022-03-24.

3. piemērs:

galvenā metode java

Uzrakstiet vaicājumu, lai norādītajam datumam pievienotu 25 gadu intervālu, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_ADD (), lai norādītajam datumam pievienotu 25 gadu intervālu. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.

Jūs saņemsiet šādu izvadi:

JAUNUMS_DATE
2046-10-24

Pēc 25 gadu intervāla pievienošanas 2021-10-24 jaunais datums ir 2046-10-24.

7. DATE_SUB()

Izmantojot funkciju DATE_SUB () SQL, mēs varam noņemt noteiktu laika intervālu no norādītā datuma.

Sintakse:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

1. piemērs:

Uzrakstiet vaicājumu, lai noņemtu 25 gadu intervālu no norādītā datuma, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_SUB(), lai noņemtu 25 gadu intervālu no norādītā datuma. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.

Jūs saņemsiet šādu izvadi:

JAUNUMS_DATE
1996-10-24

Pēc 25 gadu intervāla noņemšanas no 2021-10-24 jaunais datums ir 1996-10-24.

2. piemērs:

Uzrakstiet vaicājumu, lai noņemtu 5 mēnešu intervālu no norādītā datuma, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_SUB(), lai noņemtu 5 mēnešu intervālu no norādītā datuma. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.

Jūs saņemsiet šādu izvadi:

JAUNUMS_DATE
2021-05-24

Pēc 5 mēnešu intervāla noņemšanas no 2021-10-24 jaunais datums ir 2021-05-24.

3. piemērs:

Uzrakstiet vaicājumu, lai noņemtu 15 dienu intervālu no norādītā datuma, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_SUB(), lai noņemtu 15 dienu intervālu no norādītā datuma. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.

Jūs saņemsiet šādu izvadi:

JAUNUMS_DATE
2021-10-09

Pēc 15 dienu intervāla noņemšanas no 2021-10-24 jaunais datums ir 2021-10-09.

8. DATEDIFF()

Izmantojot funkciju DATEDIFF() SQL, tiks parādīts dienu skaits, kas ir starp diviem norādītajiem datumiem.

Sintakse:

 SELECT DATEDIFF(Date1, Date2); 

1. piemērs:

Uzrakstiet vaicājumu, lai aprēķinātu atšķirību starp diviem norādītajiem datumiem, t.i., 24th2021. gada oktobris un 9. oktobristh2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_DIFF(), lai iegūtu atšķirību starp datumiem 2021-10-24 un 2021-10-09. Number_of_Days ir aizstājvārds, lai saglabātu atšķirību dienu skaita izteiksmē.

Jūs saņemsiet šādu izvadi:

Dienu_skaits
piecpadsmit

Starp datumiem 2021-10-24 un 2021-10-09 ir 15 dienu atšķirība.

2. piemērs:

Uzrakstiet vaicājumu, lai aprēķinātu atšķirību starp diviem norādītajiem datumiem, t.i., 5th2018. gada maijs un 5. maijsth2008. gada maijs.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_DIFF (), lai iegūtu atšķirību starp datumiem 2018-05-05 un 2008-05-05. Number_of_Days ir aizstājvārds, lai saglabātu atšķirību dienu skaita izteiksmē.

Jūs saņemsiet šādu izvadi:

Dienu_skaits
3652

Starp datumiem 2018-05-05 un 2008-05-05 ir 3652 dienu atšķirība.

9. DATE_FORMAT()

Izmantojot funkciju DATE_FORMAT () SQL, mēs varam parādīt ar datumu vai laiku saistīto informāciju labi formatētā veidā.

Funkcijas DATE_FORMAT izmantošanas sintakse tabulas kolonnā:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

VAI

Sintakse konkrēta datuma formatēšanai:

 SELECT DATE_FORMAT (Date, Expression); 

1. piemērs:

Uzrakstiet vaicājumu, lai dotais datums tiktu parādīts labi formatētā veidā, t.i., 24th2021. gada oktobris.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_FORMAT (), lai iegūtu datumu 2021-10-24 formatētā formā. Formatted_Date ir aizstājvārds formatētā datuma glabāšanai.

Python ir skaitlisks

Jūs saņemsiet šādu izvadi:

Formatted_Date
Svētdien, 24.10.2021

Svētdiena, 2021. gada 24. oktobris, ir formatētais datums 2021. gada 24. oktobrī.

2. piemērs:

Uzrakstiet vaicājumu, lai norādītais datums un laiks tiktu parādīts labi formatētā veidā, t.i., 24th2021. gada oktobris, 22:30:17.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_FORMAT (), lai iegūtu datumu un laiku '2021-10-24 22:30:17' formatētā formā. Formatted_DateTime ir aizstājvārds formatētā datuma un laika glabāšanai.

Jūs saņemsiet šādu izvadi:

Formatted_DateTime
Svētdien, 2021. gada 24. oktobrī, plkst. 22:30:17

Svētdiena, 2021. gada 24. oktobris, 22:30:17 ir formatētais datums un laiks 2021. gada 24. gada 24. gada 22. 30.17.

3. piemērs:

Uzrakstiet vaicājumu, lai labi formatētā veidā parādītu visu informāciju no studenta kolonnas ar kolonnu DateTime_Birth.

Vaicājums:

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

Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_FORMAT (), lai iegūtu datumu un laiku visiem ierakstiem formatētā formā. Formatted_DateTime ir aizstājvārds formatētā datuma un laika glabāšanai.

Jūs saņemsiet šādu izvadi:

ID Vārds Formatted_DateTime Pilsēta
1 Mansi Šahs Piektdiena, 2010. gada 1. janvāris, 18:39:09 Pune
2 Tejals Vags Ceturtdiena, 2010. gada 4. marts, 05:13:19 Nasiks
3 Sejals Kumari Sestdiena, 2010. gada 1. maijs, 10:31:07 Mumbaja
4 Sonal Jain Ceturtdiena, 2010. gada 9. septembris, 17:17:07 Šimla
5 Surili Mahešvari Sestdiena, 2010. gada 10. jūlijs, 20:45:18 Vēstule

Visi ieraksti tiek parādīti tā, kā tas ir no studentu tabulas, izņemot kolonnu DateTime_Birth. Kolonnā Formatted_DateTime tiek parādīts tikai datums un laiks atbilstoši prasībām.