logo

SQL-datofunksjoner

I denne opplæringen vil vi lære om noen av de viktige datofunksjonene som er innebygd i SQL.

Datofunksjoner i SQL:

  1. NÅ()
  2. CURDATE()
  3. CURTIME()
  4. DATO()
  5. EKSTRAKT()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. DATE_FORMAT()

La oss se hver av datofunksjonene en etter en i detalj ved hjelp av eksempler. Vi vil bruke MySQL-databasen i eksempler for å skrive spørringene.

Tenk på at vi har elevtabellen med følgende data:

ID Navn DatoTime_Birth By
1 Mansi Shah 2010-01-01 18:39:09 Pune
2 Tejal Wagh 04-03-2010 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 vil bruke denne tabellen i noen av eksemplene.

1. NÅ():

NOW ()-funksjonen i SQL vil gi gjeldende systems dato og klokkeslett.

Syntaks:

 SELECT NOW (); 

Eksempel:

Skriv en spørring for å vise gjeldende systems dato og klokkeslett.

Spørsmål:

 mysql> SELECT NOW () AS Current_Date_Time; 

Her har vi skrevet en SELECT-spørring med NOW ()-funksjonen for å få systemets gjeldende dato og klokkeslett. Current_Date_Time er et alias for å lagre dato og klokkeslett.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

Current_Date_Time
24.10.2021 18:28:44

Datoen og klokkeslettet da spørringen ble utført i systemet er 24thoktober 2021 og 18:28:44. Derfor vises den som en utgang.

2. CURDATE()

CURDATE ()-funksjonen i SQL vil gi gjeldende systems dato.

hva er gb

Syntaks:

 SELECT CURDATE (); 

Eksempel:

Skriv en forespørsel for å vise gjeldende systemdato.

Spørsmål:

 mysql> SELECT CURDATE () AS CurrentDate; 

Her har vi skrevet en SELECT-spørring med funksjonen CURDATE () for å få systemets gjeldende dato. CurrentDate er et alias for å lagre datoen.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

Dagens dato
2021-10-24

Datoen da spørringen ble utført i systemet er 24thoktober 2021. Derfor vises den som en utgang.

3. CURTIME()

CURTIME ()-funksjonen i SQL vil gi gjeldende systemtid.

Syntaks:

 SELECT CURTIME (); 

Eksempel:

Skriv en spørring for å vise gjeldende systems tid.

Spørsmål:

 mysql> SELECT CURTIME () AS CurrentTime; 

Her har vi skrevet en SELECT-spørring med funksjonen CURTIME () for å få systemets gjeldende tid. CurrentTime er et alias for å lagre tiden.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

Nåværende tid
18:49:07

Tidspunktet da spørringen ble utført i systemet er 18:49:07. Derfor vises den som en utgang.

4. DATO()

Ved å bruke DATE ()-funksjonen i SQL, kan du spesifikt trekke ut datoen fra DATETIME-datatypekolonnen.

Syntaks:

 SELECT DATE (DateTimeValue); 

Eksempel 1:

Skriv en forespørsel for å vise datoen fra den gitte datoen og klokkeslettet, dvs. 2021-10-24 18:28:44.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med DATE ()-funksjonen for å få bare datoen fra dato- og klokkeslettparameteren sendt til DATE()-funksjonen. SHOW_DATE er et alias for å lagre datoen.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

SHOW_DATE
2021-10-24

Fra dato- og klokkeslettparameteren, dvs. «2021-10-24 18:28:44», er datoverdien 2021-10-24. Derfor vises den som en utgang.

Eksempel 2:

Skriv en spørring for å vise alle detaljene fra elevtabellen med datoen fra DateTime_Birth-kolonnen i elevtabellen.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring for å hente ID og navn. Date_of_Birth er et alias for DateTime_Birth. Vi har brukt Date_of_Birth med DATE ()-funksjonen for å få kun datoen.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

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 postene vises som de er fra elevtabellen bortsett fra DateTime_Birth-kolonnen. Bare datoen vises i Date_of_Birth-kolonnen i henhold til kravet.

5. UTTREKK()

Ved å bruke EXTRACT()-funksjonen i SQL kan vi trekke ut en bestemt del av dato og klokkeslett i henhold til våre krav: dag, måned, år, dag, time, minutt, etc.

Syntaks:

java filterstrøm
 SELECT EXTRACT (PART FROM DATE / TIME); 

Eksempel 1:

Skriv en forespørsel for å vise året fra den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen EXTRACT () for å få året fra den gitte datoen. SHOW_YEAR er et alias for å lagre året.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

SHOW_YEAR
2021

'2021' er året på den angitte datoen. Derfor vises den som en utgang.

Eksempel 2:

Skriv en forespørsel for å vise måneden fra den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen EXTRACT () for å få måneden fra den gitte datoen. SHOW_MONTH er et alias for å lagre måneden.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

SHOW_MONTH
10

10ther månedsverdien på den gitte datoen. Derfor vises den som en utgang.

Eksempel 3:

Skriv en forespørsel for å vise dagen fra den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen EXTRACT () for å få dagen fra den gitte datoen. SHOW_DAY er et alias for å lagre dagen.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

SHOW_DAY
24

24ther dagsverdien på den gitte datoen. Derfor vises den som en utgang.

Eksempel 4:

Skriv en spørring for å vise timen fra det gitte tidspunktet, dvs. 19:10:43.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen EXTRACT () for å få timen fra det gitte tidspunktet. SHOW_HOUR er et alias for å lagre verdien av en time.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

SHOW_HOUR
19

'19' er timeverdien på den gitte tiden. Derfor vises den som en utgang.

Eksempel 5:

Skriv en forespørsel for å vise minuttet fra det gitte tidspunktet, dvs. 19:10:43.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen EXTRACT () for å få minuttverdien fra det gitte tidspunktet. SHOW_MINUTE er et alias for å lagre minuttet.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

SHOW_MINUTE
10

'10' er minuttverdien i den gitte tiden. Derfor vises den som en utgang.

Eksempel 6:

rekha indisk

Skriv en spørring for å vise sekundene fra det gitte tidspunktet, dvs. 19:10:43.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen EXTRACT () for å få sekundverdien fra den gitte tiden. SHOW_SECOND er et alias for å lagre verdien av et sekund.

Etter å ha utført spørringen ovenfor, fikk vi følgende utgang:

SHOW_SECOND
43

43 er den andre verdien i den gitte tiden. Derfor vises den som en utgang.

6. DATE_ADD()

Ved å bruke funksjonen DATE_ADD () i SQL, kan vi legge til et spesifikt tidsintervall til den gitte datoen.

Syntaks:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

Eksempel 1:

Skriv en forespørsel for å legge til et intervall på 15 dager til den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_ADD () for å legge til et intervall på 15 dager til den gitte datoen. NEW_DATE er et alias for å lagre verdien av en ny dato.

Du vil få følgende utgang:

NEW_DATE
2021-11-08

Etter å ha lagt til 15 dagers intervall til 2021-10-24, er den nye datoen 2021-11-08.

Eksempel 2:

Skriv en forespørsel for å legge til et intervall på 5 måneder til den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_ADD () for å legge til et intervall på 5 måneder til den gitte datoen. NEW_DATE er et alias for å lagre verdien av en ny dato.

Du vil få følgende utgang:

NEW_DATE
2022-03-24

Etter å ha lagt til 5 måneders intervall til 2021-10-24, er den nye datoen 2022-03-24.

Eksempel 3:

Skriv en forespørsel for å legge til et intervall på 25 år til den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_ADD () for å legge til et intervall på 25 år til den gitte datoen. NEW_DATE er et alias for å lagre verdien av en ny dato.

Du vil få følgende utgang:

NEW_DATE
2046-10-24

Etter å ha lagt til 25 års intervall til 2021-10-24, er den nye datoen 2046-10-24.

7. DATE_SUB()

Ved å bruke funksjonen DATE_SUB () i SQL, kan vi fjerne et spesifikt tidsintervall fra den gitte datoen.

Syntaks:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

Eksempel 1:

Skriv en forespørsel for å fjerne et intervall på 25 år fra den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_SUB() for å fjerne et intervall på 25 år fra den gitte datoen. NEW_DATE er et alias for å lagre verdien av en ny dato.

Du vil få følgende utgang:

NEW_DATE
1996-10-24

Etter å ha fjernet 25 års intervall fra 2021-10-24, er den nye datoen 1996-10-24.

Eksempel 2:

Skriv en forespørsel for å fjerne et intervall på 5 måneder fra den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_SUB() for å fjerne et intervall på 5 måneder fra den gitte datoen. NEW_DATE er et alias for å lagre verdien av en ny dato.

Du vil få følgende utgang:

NEW_DATE
2021-05-24

Etter å ha fjernet 5 måneders intervall fra 2021-10-24, er den nye datoen 2021-05-24.

Eksempel 3:

Skriv en forespørsel for å fjerne et intervall på 15 dager fra den gitte datoen, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_SUB() for å fjerne et intervall på 15 dager fra den gitte datoen. NEW_DATE er et alias for å lagre verdien av en ny dato.

Du vil få følgende utgang:

NEW_DATE
2021-10-09

Etter å ha fjernet 15 dagers intervall fra 2021-10-24, er den nye datoen 2021-10-09.

8. DATEDIFF()

Bruk av DATEDIFF()-funksjonen i SQL vil gi oss antall dager som faller mellom de to gitte datoene.

Syntaks:

 SELECT DATEDIFF(Date1, Date2); 

Eksempel 1:

Skriv en spørring for å beregne forskjellen mellom to gitte datoer, dvs. 24thoktober 2021 og 9thoktober 2021.

fonter for gimp

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_DIFF() for å få forskjellen mellom datoene 2021-10-24 og 2021-10-09. Number_of_Days er et alias for å lagre forskjellen når det gjelder antall dager.

Du vil få følgende utgang:

Antall dager
femten

Det er en forskjell på 15 dager mellom datoene 2021-10-24 og 2021-10-09.

Eksempel 2:

Skriv en spørring for å beregne forskjellen mellom to gitte datoer, dvs. 5thmai 2018 og 5thmai, 2008.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_DIFF () for å få forskjellen mellom datoene 2018-05-05 og 2008-05-05. Number_of_Days er et alias for å lagre forskjellen når det gjelder antall dager.

Du vil få følgende utgang:

Antall dager
3652

Det er en forskjell på 3652 dager mellom datoene 2018-05-05 og 2008-05-05.

9. DATE_FORMAT()

Ved å bruke funksjonen DATE_FORMAT () i SQL, kan vi vise dato- eller klokkeslett-relatert informasjon på en godt formatert måte.

Syntaks for å bruke en DATE_FORMAT-funksjon i en tabells kolonne:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

ELLER

Syntaks for å formatere en bestemt dato:

 SELECT DATE_FORMAT (Date, Expression); 

Eksempel 1:

Skriv en spørring for å vise den gitte datoen på en godt formatert måte, dvs. 24thoktober 2021.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_FORMAT () for å få datoen 2021-10-24 i formatert form. Formatted_Date er et alias for å lagre den formaterte datoen.

uforanderlig liste

Du vil få følgende utgang:

Formatert_dato
søndag 24 oktober 2021

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

Eksempel 2:

Skriv en spørring for å vise den gitte datoen og klokkeslettet på en godt formatert måte, dvs. 24thoktober 2021 22:30:17.

Spørsmål:

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

Her har vi skrevet en SELECT-spørring med funksjonen DATE_FORMAT () for å få dato og klokkeslett '2021-10-24 22:30:17' i formatert form. Formatted_DateTime er et alias for å lagre den formaterte datoen og klokkeslettet.

Du vil få følgende utgang:

Formatted_DateTime
Søndag 24. oktober 2021 22:30:17

Søndag 24. oktober 2021 22:30:17 er formatert dato og klokkeslett for 2021-10-24 22:30:17.

Eksempel 3:

Skriv en spørring for å vise alle detaljene fra elevkolonnen med DateTime_Birth-kolonnen på en godt formatert måte.

Spørsmål:

 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-spørring med funksjonen DATE_FORMAT () for å få dato og klokkeslett for alle postene i formatert form. Formatted_DateTime er et alias for å lagre den formaterte datoen og klokkeslettet.

Du vil få følgende utgang:

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

Alle postene vises som de er fra elevtabellen bortsett fra DateTime_Birth-kolonnen. Bare dato og klokkeslett vises i kolonnen Formatted_DateTime i henhold til nødvendig.