I denne tutorial lærer vi om nogle af de vigtige datofunktioner, som er indbygget i SQL.
Datofunktioner i SQL:
- NU()
- CURDATE()
- CURTIME()
- DATO()
- UDDRAG()
- DATE_ADD()
- DATE_SUB()
- DATODIFF()
- 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.