logo

SQL-datumfunktioner

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:

  1. NU()
  2. CURDATE()
  3. CURTIME()
  4. DATUM()
  5. EXTRAHERA()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. 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.