I denne opplæringen vil vi lære om noen av de viktige datofunksjonene som er innebygd i SQL.
Datofunksjoner i SQL:
- NÅ()
- CURDATE()
- CURTIME()
- DATO()
- EKSTRAKT()
- DATE_ADD()
- DATE_SUB()
- DATEDIFF()
- 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.