logo

SQL-datofunktioner

I denne tutorial lærer vi om nogle af de vigtige datofunktioner, som er indbygget i SQL.

Datofunktioner i SQL:

  1. NU()
  2. CURDATE()
  3. CURTIME()
  4. DATO()
  5. UDDRAG()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATODIFF()
  9. DATOFORMAT()

Lad os se hver af datofunktionerne en efter en i detaljer ved hjælp af eksempler. Vi vil bruge MySQL-databasen i eksempler til at skrive forespørgslerne.

Overvej, at vi har elevtabellen med følgende data:

ID Navn DatoTime_Birth By
1 Mansi Shah 01-01-2010 18:39:09 Pune
2 Tejal Wagh 04-03-2010 05:13:19 Nasik
3 Sejal Kumari 01-05-2010 10:31:07 Mumbai
4 Sonal Jain 09-09-2010 17:17:07 Shimla
5 Surili Maheshwari 2010-07-10 20:45:18 Brev

Vi vil bruge denne tabel i nogle af eksemplerne.

1. NU():

Funktionen NOW () i SQL vil give det aktuelle systems dato og klokkeslæt.

Syntaks:

 SELECT NOW (); 

Eksempel:

Skriv en forespørgsel for at få vist det aktuelle systems dato og klokkeslæt.

Forespørgsel:

 mysql> SELECT NOW () AS Current_Date_Time; 

Her har vi skrevet en SELECT-forespørgsel med funktionen NOW () for at få systemets aktuelle dato og klokkeslæt. Current_Date_Time er et alias til at gemme dato og klokkeslæt.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

Current_Date_Time
24-10-2021 18:28:44

Datoen og tidspunktet, hvor forespørgslen blev udført i systemet, er 24thoktober 2021 og 18:28:44. Derfor vises det som et output.

2. CURDATE()

CURDATE () funktion i SQL vil give det aktuelle systems dato.

fed teksten i css

Syntaks:

 SELECT CURDATE (); 

Eksempel:

Skriv en forespørgsel for at få vist det aktuelle systems dato.

Forespørgsel:

 mysql> SELECT CURDATE () AS CurrentDate; 

Her har vi skrevet en SELECT-forespørgsel med funktionen CURDATE () for at få systemets aktuelle dato. CurrentDate er et alias til at gemme datoen.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

Nuværende dato
2021-10-24

Datoen, hvor forespørgslen blev udført i systemet, er 24thoktober 2021. Derfor vises det som et output.

3. CURTIME()

CURTIME () funktion i SQL vil give det aktuelle system tid.

Syntaks:

 SELECT CURTIME (); 

Eksempel:

Skriv en forespørgsel for at vise det aktuelle systems tid.

Forespørgsel:

 mysql> SELECT CURTIME () AS CurrentTime; 

Her har vi skrevet en SELECT-forespørgsel med funktionen CURTIME () for at få systemets aktuelle tid. CurrentTime er et alias til at gemme tiden.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

Nuværende tid
18:49:07

Det tidspunkt, hvor forespørgslen blev udført i systemet, er 18:49:07. Derfor vises det som et output.

4. DATO()

Ved at bruge DATE()-funktionen i SQL kan du specifikt udtrække datoen fra DATETIME-datatypekolonnen.

Syntaks:

 SELECT DATE (DateTimeValue); 

Eksempel 1:

Skriv en forespørgsel for at vise datoen fra den givne dato og klokkeslæt, dvs. 2021-10-24 18:28:44.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE()-funktionen for kun at få datoen fra dato- og klokkeslætparameteren overført til DATE()-funktionen. SHOW_DATE er et alias til at gemme datoen.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

SHOW_DATE
2021-10-24

Fra dato- og tidsparameteren, dvs. '2021-10-24 18:28:44', er datoværdien 2021-10-24. Derfor vises det som et output.

Eksempel 2:

Skriv en forespørgsel for at vise alle detaljerne fra elevtabellen med datoen fra kolonnen DateTime_Birth i elevtabellen.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel for at hente ID og Navn. Date_of_Birth er et alias for DateTime_Birth. Vi har brugt Date_of_Birth med DATE ()-funktionen til kun at få datoen.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

ID Navn Fødselsdato By
1 Mansi Shah 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 Brev

Alle posterne vises, som de er fra elevtabellen, bortset fra kolonnen DateTime_Birth. Kun datoen vises i kolonnen Date_of_Birth i henhold til kravet.

5. UDDRAG()

Ved at bruge EXTRACT()-funktionen i SQL kan vi udtrække en bestemt del af dato og klokkeslæt i henhold til vores krav: dag, måned, år, dag, time, minut osv.

Syntaks:

java arraylist metoder
 SELECT EXTRACT (PART FROM DATE / TIME); 

Eksempel 1:

Skriv en forespørgsel for at vise året fra den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med EXTRACT ()-funktionen for at få året fra den givne dato. SHOW_YEAR er et alias til at gemme året.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

SHOW_YEAR
2021

'2021' er året på den angivne dato. Derfor vises det som et output.

Eksempel 2:

Skriv en forespørgsel for at vise måneden fra den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med EXTRACT ()-funktionen for at få måneden fra den givne dato. SHOW_MONTH er et alias til at gemme måneden.

Efter at have udført ovenstående forespørgsel fik vi følgende output:

SHOW_MONTH
10

10ther månedsværdien på den givne dato. Derfor vises det som et output.

Eksempel 3:

Skriv en forespørgsel for at vise dagen fra den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med EXTRACT ()-funktionen for at få dagen fra den givne dato. SHOW_DAY er et alias til at gemme dagen.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

SHOW_DAY
24

24ther dagsværdien på den givne dato. Derfor vises det som et output.

Eksempel 4:

Skriv en forespørgsel for at vise timen fra det givne tidspunkt, dvs. 19:10:43.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med EXTRACT ()-funktionen for at få timen fra det givne tidspunkt. SHOW_HOUR er et alias til at gemme værdien af ​​en time.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

SHOW_HOUR
19

'19' er timeværdien på det givne tidspunkt. Derfor vises det som et output.

Eksempel 5:

Skriv en forespørgsel for at vise minuttet fra det givne tidspunkt, dvs. 19:10:43.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med EXTRACT ()-funktionen for at få minutværdien fra det givne tidspunkt. SHOW_MINUTE er et alias til at gemme minuttet.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

SHOW_MINUTE
10

'10' er minutværdien i den givne tid. Derfor vises det som et output.

Eksempel 6:

rekha indisk

Skriv en forespørgsel for at vise sekunderne fra det givne tidspunkt, dvs. 19:10:43.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med EXTRACT ()-funktionen for at få sekundværdien fra det givne tidspunkt. SHOW_SECOND er et alias til at gemme værdien af ​​et sekund.

Efter at have udført ovenstående forespørgsel, fik vi følgende output:

SHOW_SECOND
43

43 er den anden værdi i den givne tid. Derfor vises det som et output.

6. DATE_ADD()

Ved at bruge DATE_ADD ()-funktionen i SQL kan vi tilføje et bestemt tidsinterval til den givne dato.

Syntaks:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Eksempel 1:

Skriv en forespørgsel for at tilføje et interval på 15 dage til den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_ADD () funktion for at tilføje et interval på 15 dage til den givne dato. NEW_DATE er et alias til at gemme værdien af ​​en ny dato.

Du får følgende output:

NEW_DATE
2021-11-08

Efter tilføjelse af 15 dages interval til 2021-10-24, er den nye dato 2021-11-08.

Eksempel 2:

Skriv en forespørgsel for at tilføje et interval på 5 måneder til den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_ADD () funktion for at tilføje et interval på 5 måneder til den givne dato. NEW_DATE er et alias til at gemme værdien af ​​en ny dato.

Du får følgende output:

NEW_DATE
2022-03-24

Efter tilføjelse af 5 måneders interval til 2021-10-24, er den nye dato 2022-03-24.

Eksempel 3:

Skriv en forespørgsel for at tilføje et interval på 25 år til den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_ADD () funktion for at tilføje et interval på 25 år til den givne dato. NEW_DATE er et alias til at gemme værdien af ​​en ny dato.

Du får følgende output:

NEW_DATE
2046-10-24

Efter tilføjelse af 25 års interval til 2021-10-24, er den nye dato 2046-10-24.

7. DATE_SUB()

Ved at bruge DATE_SUB ()-funktionen i SQL kan vi fjerne et bestemt tidsinterval fra den givne dato.

Syntaks:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Eksempel 1:

Skriv en forespørgsel for at fjerne et interval på 25 år fra den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_SUB()-funktion for at fjerne et interval på 25 år fra den givne dato. NEW_DATE er et alias til at gemme værdien af ​​en ny dato.

Du får følgende output:

NEW_DATE
1996-10-24

Efter at have fjernet 25 års interval fra 2021-10-24, er den nye dato 1996-10-24.

Eksempel 2:

Skriv en forespørgsel for at fjerne et interval på 5 måneder fra den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_SUB()-funktion for at fjerne et interval på 5 måneder fra den givne dato. NEW_DATE er et alias til at gemme værdien af ​​en ny dato.

Du får følgende output:

NEW_DATE
2021-05-24

Efter at have fjernet 5 måneders interval fra 2021-10-24, er den nye dato 2021-05-24.

Eksempel 3:

Skriv en forespørgsel for at fjerne et interval på 15 dage fra den givne dato, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_SUB() funktion for at fjerne et interval på 15 dage fra den givne dato. NEW_DATE er et alias til at gemme værdien af ​​en ny dato.

Du får følgende output:

NEW_DATE
2021-10-09

Efter at have fjernet 15 dages interval fra 2021-10-24, er den nye dato 2021-10-09.

8. DATODIFF()

Brug af DATEDIFF()-funktionen i SQL vil give os det antal dage, der falder mellem de to givne datoer.

Syntaks:

 SELECT DATEDIFF(Date1, Date2); 

Eksempel 1:

Skriv en forespørgsel for at beregne forskellen mellem to givne datoer, dvs. 24thoktober 2021 og 9thoktober 2021.

skrifttyper til gimp

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_DIFF() funktion for at få forskellen mellem datoerne 2021-10-24 og 2021-10-09. Number_of_Days er et alias til at gemme forskellen i forhold til antallet af dage.

Du får følgende output:

Antal_dage
femten

Der er en forskel på 15 dage mellem datoen 2021-10-24 og 2021-10-09.

Eksempel 2:

Skriv en forespørgsel for at beregne forskellen mellem to givne datoer, dvs. 5thmaj 2018 og 5thmaj, 2008.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_DIFF () funktion for at få forskellen mellem datoerne 2018-05-05 og 2008-05-05. Number_of_Days er et alias til at gemme forskellen i forhold til antallet af dage.

Du får følgende output:

Antal_dage
3652

Der er en forskel på 3652 dage mellem datoene 2018-05-05 og 2008-05-05.

9. DATE_FORMAT()

Ved at bruge DATE_FORMAT ()-funktionen i SQL kan vi vise dato- eller tidsrelaterede oplysninger på en velformateret måde.

Syntaks for at bruge en DATE_FORMAT-funktion i en tabels kolonne:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

ELLER

Syntaks til at formatere en bestemt dato:

 SELECT DATE_FORMAT (Date, Expression); 

Eksempel 1:

Skriv en forespørgsel for at vise den givne dato på en velformateret måde, dvs. 24thoktober 2021.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_FORMAT () funktion for at få datoen 2021-10-24 i den formaterede form. Formatted_Date er et alias til at gemme den formaterede dato.

uforanderlig liste

Du får følgende output:

Formateret_dato
Søndag den 24. oktober 2021

Søndag den 24. oktober 2021 er den formaterede dato for 2021-10-24.

Eksempel 2:

Skriv en forespørgsel for at vise den givne dato og klokkeslæt på en velformateret måde, dvs. 24thoktober 2021 22:30:17.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_FORMAT () funktion for at få datoen og klokkeslættet '2021-10-24 22:30:17' i den formaterede form. Formatted_DateTime er et alias til at gemme den formaterede dato og tid.

Du får følgende output:

Formateret_DatoTid
Søndag den 24. oktober 2021 22:30:17

Søndag den 24. oktober 2021 22:30:17 er den formaterede dato og tid for 2021-10-24 22:30:17.

Eksempel 3:

Skriv en forespørgsel for at vise alle detaljerne fra elevkolonnen med DateTime_Birth-kolonnen på en velformateret måde.

Forespørgsel:

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

Her har vi skrevet en SELECT-forespørgsel med DATE_FORMAT () funktion for at få dato og klokkeslæt for alle posterne i en formateret form. Formatted_DateTime er et alias til at gemme den formaterede dato og tid.

Du får følgende output:

ID Navn Formateret_DatoTid By
1 Mansi Shah Fredag ​​den 1. januar 2010 18:39:09 Pune
2 Tejal Wagh Torsdag den 4. marts 2010 05:13:19 Nasik
3 Sejal Kumari Lørdag den 1. maj 2010 10:31:07 Mumbai
4 Sonal Jain Torsdag den 9. september 2010 17:17:07 Shimla
5 Surili Maheshwari Lørdag den 10. juli 2010 20:45:18 Brev

Alle posterne vises, som de er fra elevtabellen, bortset fra kolonnen DateTime_Birth. Kun datoen og klokkeslættet vises i kolonnen Formateret_dato/klokkeslæt som påkrævet.