I den här handledningen kommer vi att lära oss om några av de viktiga datumfunktionerna som är inbyggda i SQL.
Datumfunktioner i SQL:
- NU()
- CURDATE()
- CURTIME()
- DATUM()
- EXTRAHERA()
- DATE_ADD()
- DATE_SUB()
- DATEDIFF()
- DATUMFORMAT()
Låt oss se var och en av datumfunktionerna en efter en i detalj med hjälp av exempel. Vi kommer att använda MySQL-databasen i exempel för att skriva frågorna.
Tänk att vi har elevtabellen med följande data:
ID | namn | DateTime_Birth | Stad |
---|---|---|---|
1 | Mansi Shah | 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 | Brev |
Vi kommer att använda den här tabellen i några av exemplen.
1. NU():
Funktionen NOW () i SQL kommer att ge det aktuella systemets datum och tid.
Syntax:
SELECT NOW ();
Exempel:
Skriv en fråga för att visa det aktuella systemets datum och tid.
Fråga:
mysql> SELECT NOW () AS Current_Date_Time;
Här har vi skrivit en SELECT-fråga med funktionen NOW () för att få systemets aktuella datum och tid. Current_Date_Time är ett alias för att lagra datum och tid.
Efter att ha kört ovanstående fråga fick vi följande utdata:
Current_Date_Time |
---|
2021-10-24 18:28:44 |
Datumet och tiden då frågan kördes i systemet är 24thoktober 2021 och 18:28:44. Därför visas den som en utgång.
2. CURDATE()
CURDATE () funktion i SQL kommer att ge det aktuella systemets datum.
k klustringsalgoritm
Syntax:
SELECT CURDATE ();
Exempel:
Skriv en fråga för att visa det aktuella systemets datum.
Fråga:
mysql> SELECT CURDATE () AS CurrentDate;
Här har vi skrivit en SELECT-fråga med funktionen CURDATE () för att få systemets aktuella datum. CurrentDate är ett alias för att lagra datumet.
Efter att ha kört ovanstående fråga fick vi följande utdata:
Dagens datum |
---|
2021-10-24 |
Datumet då frågan kördes i systemet är 24thoktober 2021. Därför visas den som en utdata.
3. CURTIME()
Funktionen CURTIME () i SQL kommer att ge aktuell systemtid.
Syntax:
SELECT CURTIME ();
Exempel:
Skriv en fråga för att visa det aktuella systemets tid.
Fråga:
mysql> SELECT CURTIME () AS CurrentTime;
Här har vi skrivit en SELECT-fråga med funktionen CURTIME () för att få fram systemets aktuella tid. CurrentTime är ett alias för att lagra tiden.
Efter att ha kört ovanstående fråga fick vi följande utdata:
Aktuell tid |
---|
18:49:07 |
Tiden då frågan kördes i systemet är 18:49:07. Därför visas den som en utgång.
4. DATUM()
Med hjälp av DATE()-funktionen i SQL kan du specifikt extrahera datumet från datatypkolumnen DATETIME.
Syntax:
SELECT DATE (DateTimeValue);
Exempel 1:
Skriv en fråga för att visa datumet från det givna datumet och tiden, dvs. 2021-10-24 18:28:44.
Fråga:
mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE;
Här har vi skrivit en SELECT-fråga med DATE()-funktionen för att bara få datumet från datum- och tidsparametern som skickats till DATE()-funktionen. SHOW_DATE är ett alias för att lagra datumet.
Efter att ha kört ovanstående fråga fick vi följande utdata:
SHOW_DATE |
---|
2021-10-24 |
Från datum- och tidsparametern, dvs. '2021-10-24 18:28:44', är datumvärdet 2021-10-24. Därför visas den som en utgång.
Exempel 2:
Skriv en fråga för att visa alla detaljer från elevtabellen med datum från kolumnen DateTime_Birth i elevtabellen.
Fråga:
mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student;
Här har vi skrivit en SELECT-fråga för att hämta ID och namn. Date_of_Birth är ett alias för DateTime_Birth. Vi har använt Date_of_Birth med DATE ()-funktionen för att bara få fram datumet.
Efter att ha kört ovanstående fråga fick vi följande utdata:
ID | namn | Födelsedatum | Stad |
---|---|---|---|
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 |
Alla poster visas som de är från elevtabellen förutom kolumnen DateTime_Birth. Endast datumet visas i kolumnen Date_of_Birth enligt kravet.
5. EXTRACERA()
Med hjälp av EXTRACT()-funktionen i SQL kan vi extrahera en specifik del av datum och tid enligt våra krav: dag, månad, år, dag, timme, minut, etc.
Syntax:
SELECT EXTRACT (PART FROM DATE / TIME);
Exempel 1:
Skriv en fråga för att visa året från det givna datumet, dvs 24thoktober 2021.
Fråga:
mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR;
Här har vi skrivit en SELECT-fråga med EXTRACT ()-funktionen för att få årtalet från det givna datumet. SHOW_YEAR är ett alias för att lagra året.
Efter att ha kört ovanstående fråga fick vi följande utdata:
SHOW_YEAR |
---|
2021 |
'2021' är året på det angivna datumet. Därför visas den som en utgång.
Exempel 2:
Skriv en fråga för att visa månaden från det givna datumet, dvs 24thoktober 2021.
Fråga:
mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH;
Här har vi skrivit en SELECT-fråga med EXTRACT ()-funktionen för att få månaden från det givna datumet. SHOW_MONTH är ett alias för att lagra månaden.
Efter att ha kört ovanstående fråga fick vi följande utdata:
SHOW_MONTH |
---|
10 |
10thär månadsvärdet på det givna datumet. Därför visas den som en utgång.
full form av i d e
Exempel 3:
Skriv en fråga för att visa dagen från det givna datumet, dvs 24thoktober 2021.
Fråga:
mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY;
Här har vi skrivit en SELECT-fråga med EXTRACT ()-funktionen för att få dagen från det givna datumet. SHOW_DAY är ett alias för att lagra dagen.
Efter att ha kört ovanstående fråga fick vi följande utdata:
SHOW_DAY |
---|
24 |
24thär dagvärdet i det givna datumet. Därför visas den som en utgång.
Exempel 4:
Skriv en fråga för att visa timmen från den givna tiden, dvs 19:10:43.
Fråga:
mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR;
Här har vi skrivit en SELECT-fråga med EXTRACT ()-funktionen för att få timmen från den givna tiden. SHOW_HOUR är ett alias för att lagra värdet på en timme.
Efter att ha kört ovanstående fråga fick vi följande utdata:
SHOW_HOUR |
---|
19 |
'19' är timvärdet på den givna tiden. Därför visas den som en utgång.
Exempel 5:
Skriv en fråga för att visa minuten från den givna tiden, dvs 19:10:43.
Fråga:
mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE;
Här har vi skrivit en SELECT-fråga med EXTRACT ()-funktionen för att få minutvärdet från den givna tiden. SHOW_MINUTE är ett alias för att lagra minuten.
Efter att ha kört ovanstående fråga fick vi följande utdata:
SHOW_MINUTE |
---|
10 |
'10' är minutvärdet under den givna tiden. Därför visas den som en utgång.
Exempel 6:
Skriv en fråga för att visa sekunderna från den givna tiden, dvs 19:10:43.
Fråga:
mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND;
Här har vi skrivit en SELECT-fråga med EXTRACT ()-funktionen för att få sekundvärdet från den givna tiden. SHOW_SECOND är ett alias för att lagra värdet på en sekund.
Efter att ha kört ovanstående fråga fick vi följande utdata:
SHOW_SECOND |
---|
43 |
43 är det andra värdet under den givna tiden. Därför visas den som en utgång.
css-omslutningstext
6. DATE_ADD()
Med hjälp av DATE_ADD ()-funktionen i SQL kan vi lägga till ett specifikt tidsintervall till det givna datumet.
Syntax:
SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added);
Exempel 1:
Skriv en fråga för att lägga till ett intervall på 15 dagar till det givna datumet, d.v.s. 24thoktober 2021.
Fråga:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Här har vi skrivit en SELECT-fråga med DATE_ADD () funktion för att lägga till ett intervall på 15 dagar till det givna datumet. NEW_DATE är ett alias för att lagra värdet av ett nytt datum.
Du får följande utdata:
NEW_DATE |
---|
2021-11-08 |
Efter att ha lagt till 15 dagars intervall till 2021-10-24, är det nya datumet 2021-11-08.
Exempel 2:
Skriv en fråga för att lägga till ett intervall på 5 månader till det givna datumet, d.v.s. 24thoktober 2021.
Fråga:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Här har vi skrivit en SELECT-fråga med DATE_ADD () funktion för att lägga till ett intervall på 5 månader till det givna datumet. NEW_DATE är ett alias för att lagra värdet av ett nytt datum.
Du får följande utdata:
NEW_DATE |
---|
2022-03-24 |
Efter att ha lagt till 5 månaders intervall till 2021-10-24, är det nya datumet 2022-03-24.
Exempel 3:
Skriv en fråga för att lägga till ett intervall på 25 år till det givna datumet, d.v.s. 24thoktober 2021.
Fråga:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Här har vi skrivit en SELECT-fråga med DATE_ADD () funktion för att lägga till ett intervall på 25 år till det givna datumet. NEW_DATE är ett alias för att lagra värdet av ett nytt datum.
ett objekt i java
Du får följande utdata:
NEW_DATE |
---|
2046-10-24 |
Efter att ha lagt till 25 års intervall till 2021-10-24 är det nya datumet 2046-10-24.
7. DATE_SUB()
Med funktionen DATE_SUB () i SQL kan vi ta bort ett specifikt tidsintervall från det givna datumet.
Syntax:
SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted);
Exempel 1:
Skriv en fråga för att ta bort ett intervall på 25 år från det angivna datumet, dvs. 24thoktober 2021.
Fråga:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Här har vi skrivit en SELECT-fråga med DATE_SUB()-funktionen för att ta bort ett intervall på 25 år från det givna datumet. NEW_DATE är ett alias för att lagra värdet av ett nytt datum.
Du får följande utdata:
NEW_DATE |
---|
1996-10-24 |
Efter att ha tagit bort 25-årsintervallet från 2021-10-24 är det nya datumet 1996-10-24.
Exempel 2:
Skriv en fråga för att ta bort ett intervall på 5 månader från det angivna datumet, d.v.s. 24thoktober 2021.
Fråga:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Här har vi skrivit en SELECT-fråga med DATE_SUB()-funktionen för att ta bort ett intervall på 5 månader från det angivna datumet. NEW_DATE är ett alias för att lagra värdet av ett nytt datum.
Du får följande utdata:
NEW_DATE |
---|
2021-05-24 |
Efter att ha tagit bort 5 månaders intervall från 2021-10-24 är det nya datumet 2021-05-24.
Exempel 3:
Skriv en fråga för att ta bort ett intervall på 15 dagar från det angivna datumet, dvs. 24thoktober 2021.
Fråga:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Här har vi skrivit en SELECT-fråga med DATE_SUB()-funktionen för att ta bort ett intervall på 15 dagar från det angivna datumet. NEW_DATE är ett alias för att lagra värdet av ett nytt datum.
Du får följande utdata:
NEW_DATE |
---|
2021-10-09 |
Efter att ha tagit bort 15-dagarsintervallet från 2021-10-24 är det nya datumet 2021-10-09.
8. DATEDIFF()
Att använda DATEDIFF()-funktionen i SQL ger oss antalet dagar som faller mellan de två givna datumen.
Syntax:
SELECT DATEDIFF(Date1, Date2);
Exempel 1:
Skriv en fråga för att beräkna skillnaden mellan två givna datum, d.v.s. 24thoktober 2021 och 9thoktober 2021.
Fråga:
mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE;
Här har vi skrivit en SELECT-fråga med DATE_DIFF()-funktion för att få skillnaden mellan datumen 2021-10-24 och 2021-10-09. Number_of_Days är ett alias för att lagra skillnaden vad gäller antalet dagar.
Du får följande utdata:
Antal dagar |
---|
femton |
Det är en skillnad på 15 dagar mellan datumen 2021-10-24 och 2021-10-09.
Exempel 2:
Skriv en fråga för att beräkna skillnaden mellan två givna datum, d.v.s. 5thmaj 2018 och 5thmaj 2008.
Fråga:
mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE;
Här har vi skrivit en SELECT-fråga med DATE_DIFF () funktion för att få skillnaden mellan datumen 2018-05-05 och 2008-05-05. Number_of_Days är ett alias för att lagra skillnaden vad gäller antalet dagar.
Du får följande utdata:
Antal dagar |
---|
3652 |
Det är en skillnad på 3652 dagar mellan datumen 2018-05-05 och 2008-05-05.
9. DATE_FORMAT()
Genom att använda DATE_FORMAT ()-funktionen i SQL kan vi visa datum- eller tidsrelaterad information på ett välformaterat sätt.
Syntax för att använda en DATE_FORMAT-funktion i en tabells kolumn:
SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name;
ELLER
Syntax för att formatera ett specifikt datum:
SELECT DATE_FORMAT (Date, Expression);
Exempel 1:
Skriv en fråga för att visa det givna datumet på ett välformaterat sätt, d.v.s. 24thoktober 2021.
Fråga:
mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date;
Här har vi skrivit en SELECT-fråga med DATE_FORMAT () funktion för att få datumet 2021-10-24 i formaterad form. Formatted_Date är ett alias för att lagra det formaterade datumet.
osignerad int c-programmering
Du får följande utdata:
Formaterat_datum |
---|
Söndagen den 24 oktober 2021 |
Söndagen den 24 oktober 2021 är det formaterade datumet för 2021-10-24.
Exempel 2:
Skriv en fråga för att visa det givna datumet och tiden på ett välformaterat sätt, d.v.s. 24thOktober 2021 22:30:17.
Fråga:
mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime;
Här har vi skrivit en SELECT-fråga med DATE_FORMAT () funktion för att få datum och tid '2021-10-24 22:30:17' i formaterad form. Formatted_DateTime är ett alias för att lagra formaterat datum och tid.
Du får följande utdata:
Formatted_DateTime |
---|
Söndag 24 oktober 2021 22:30:17 |
Söndagen 24 oktober 2021 22:30:17 är formaterat datum och tid för 2021-10-24 22:30:17.
Exempel 3:
Skriv en fråga för att visa alla detaljer från elevkolumnen med kolumnen DateTime_Birth på ett välformaterat sätt.
Fråga:
mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student;
Här har vi skrivit en SELECT-fråga med DATE_FORMAT () funktion för att få datum och tid för alla poster i formaterad form. Formatted_DateTime är ett alias för att lagra formaterat datum och tid.
Du får följande utdata:
ID | namn | Formatted_DateTime | Stad |
---|---|---|---|
1 | Mansi Shah | Fredagen den 1 januari 2010 18:39:09 | Pune |
2 | Tejal Wagh | Torsdagen den 4 mars 2010 05:13:19 | Nasik |
3 | Sejal Kumari | Lördagen den 1 maj 2010 10:31:07 | Mumbai |
4 | Sonal Jain | Torsdagen den 9 september 2010 17:17:07 | Shimla |
5 | Surili Maheshwari | Lördagen den 10 juli 2010 20:45:18 | Brev |
Alla poster visas som de är från elevtabellen förutom kolumnen DateTime_Birth. Endast datum och tid visas i kolumnen Formatted_DateTime enligt vad som krävs.