Šajā apmācībā mēs uzzināsim par dažām svarīgām datuma funkcijām, kas ir iebūvētas SQL.
Datuma funkcijas SQL:
- TAGAD ()
- KRĀPIENS()
- KURTIME()
- DATUMS()
- EKSTRAKTS()
- DATE_ADD()
- DATE_SUB()
- DATEDIFF()
- DATUMA FORMĀTS()
Apskatīsim katru datuma funkciju pa vienam detalizēti, izmantojot piemērus. Vaicājumu rakstīšanas piemēros mēs izmantosim MySQL datu bāzi.
Apsveriet, ka mums ir studentu tabula ar šādiem datiem:
ID | Vārds | Datums un laiks_dzimšanas laiks | Pilsēta |
---|---|---|---|
1 | Mansi Šahs | 2010-01-01 18:39:09 | Pune |
2 | Tejals Vags | 2010-03-04 05:13:19 | Nasik |
3 | Sejals Kumari | 2010-05-01 10:31:07 | Mumbaja |
4 | Sonal Jain | 2010-09-09 17:17:07 | Šimla |
5 | Surili Mahešvari | 2010-07-10 20:45:18 | Vēstule |
Dažos piemēros izmantosim šo tabulu.
1. TAGAD():
TAGAD () funkcija SQL sniegs pašreizējās sistēmas datumu un laiku.
Sintakse:
SELECT NOW ();
Piemērs:
Uzrakstiet vaicājumu, lai parādītu pašreizējās sistēmas datumu un laiku.
Vaicājums:
mysql> SELECT NOW () AS Current_Date_Time;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju NOW (), lai iegūtu sistēmas pašreizējo datumu un laiku. Current_Date_Time ir aizstājvārds datuma un laika saglabāšanai.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
Pašreizējais_datums_laiks |
---|
2021-10-24 18:28:44 |
Datums un laiks, kurā vaicājums tika izpildīts sistēmā, ir 24th2021. gada oktobris un 18:28:44. Tādējādi tas tiek parādīts kā izeja.
2. KURĀTS()
CURDATE () funkcija SQL sniegs pašreizējās sistēmas datumu.
vienāds ar java
Sintakse:
SELECT CURDATE ();
Piemērs:
Uzrakstiet vaicājumu, lai parādītu pašreizējās sistēmas datumu.
Vaicājums:
mysql> SELECT CURDATE () AS CurrentDate;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju CURDATE (), lai iegūtu sistēmas pašreizējo datumu. CurrentDate ir aizstājvārds datuma saglabāšanai.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
Šodienas datums |
---|
2021-10-24 |
Datums, kurā vaicājums tika izpildīts sistēmā, ir 24th2021. gada oktobris. Tādējādi tas tiek parādīts kā izvade.
3. CURTIME()
CURTIME () funkcija SQL sniegs pašreizējo sistēmas laiku.
Sintakse:
SELECT CURTIME ();
Piemērs:
Uzrakstiet vaicājumu, lai parādītu pašreizējo sistēmas laiku.
Vaicājums:
mysql> SELECT CURTIME () AS CurrentTime;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju CURTIME (), lai iegūtu sistēmas pašreizējo laiku. CurrentTime ir aizstājvārds laika glabāšanai.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
Pašreizējais laiks |
---|
18:49:07 |
Laiks, kurā vaicājums tika izpildīts sistēmā, ir 18:49:07. Tādējādi tas tiek parādīts kā izeja.
4. DATE()
Izmantojot SQL funkciju DATE (), varat īpaši izvilkt datumu no datu tipa kolonnas DATETIME.
Sintakse:
SELECT DATE (DateTimeValue);
1. piemērs:
Uzrakstiet vaicājumu, lai parādītu datumu no norādītā datuma un laika, t.i., 2021-10-24 18:28:44.
Vaicājums:
mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE (), lai iegūtu tikai datumu no datuma un laika parametra, kas nodots funkcijai DATE (). SHOW_DATE ir aizstājvārds datuma saglabāšanai.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
SHOW_DATE |
---|
2021-10-24 |
No datuma un laika parametra, t.i., “2021-10-24 18:28:44”, datuma vērtība ir 2021-10-24. Tādējādi tas tiek parādīts kā izeja.
2. piemērs:
Uzrakstiet vaicājumu, lai parādītu visu informāciju no skolēnu tabulas ar datumu no studenta tabulas kolonnas DateTime_Birth.
Vaicājums:
mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student;
Šeit mēs esam uzrakstījuši SELECT vaicājumu, lai iegūtu ID un vārdu. Date_of_Birth ir aizstājvārds DateTime_Birth. Mēs esam izmantojuši Date_of_Birth ar funkciju DATE (), lai iegūtu tikai datumu.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
ID | Vārds | Dzimšanas datums | Pilsēta |
---|---|---|---|
1 | Mansi Šahs | 2010-01-01 | Pune |
2 | Tejals Vags | 2010-03-04 | Nasik |
3 | Sejals Kumari | 2010-05-01 | Mumbaja |
4 | Sonal Jain | 2010-09-09 | Šimla |
5 | Surili Mahešvari | 2010-07-10 | Vēstule |
Visi ieraksti tiek parādīti tā, kā tas ir no studentu tabulas, izņemot kolonnu DateTime_Birth. Saskaņā ar prasību kolonnā Date_of_Birth tiek parādīts tikai datums.
5. IZRAKSTS()
Izmantojot SQL funkciju EXTRACT(), mēs varam iegūt noteiktu datuma un laika daļu atbilstoši mūsu prasībām: diena, mēnesis, gads, diena, stunda, minūte utt.
Sintakse:
SELECT EXTRACT (PART FROM DATE / TIME);
1. piemērs:
Uzrakstiet vaicājumu, lai parādītu gadu no norādītā datuma, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu gadu no norādītā datuma. SHOW_YEAR ir aizstājvārds gada glabāšanai.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
SHOW_YEAR |
---|
2021. gads |
“2021” ir gads norādītajā datumā. Tādējādi tas tiek parādīts kā izeja.
2. piemērs:
Uzrakstiet vaicājumu, lai parādītu mēnesi no norādītā datuma, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu mēnesi no norādītā datuma. SHOW_MONTH ir aizstājvārds mēneša glabāšanai.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
mysql unikālā atslēga
SHOW_MONTH |
---|
10 |
10thir mēneša vērtība dotajā datumā. Tādējādi tas tiek parādīts kā izeja.
3. piemērs:
Uzrakstiet vaicājumu, lai parādītu dienu no norādītā datuma, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu dienu no norādītā datuma. SHOW_DAY ir dienas glabāšanas aizstājvārds.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
SHOW_DAY |
---|
24 |
24thir dienas vērtība dotajā datumā. Tādējādi tas tiek parādīts kā izeja.
4. piemērs:
Uzrakstiet vaicājumu, lai parādītu stundu no noteiktā laika, t.i., 19:10:43.
Vaicājums:
mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu stundu no noteiktā laika. SHOW_HOUR ir aizstājvārds stundas vērtības glabāšanai.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
SHOW_HOUR |
---|
19 |
“19” ir stundu vērtība dotajā laikā. Tādējādi tas tiek parādīts kā izeja.
5. piemērs:
Uzrakstiet vaicājumu, lai parādītu minūti no dotā laika, t.i., 19:10:43.
Vaicājums:
mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu minūtes vērtību no dotā laika. SHOW_MINUTE ir aizstājvārds minūtes glabāšanai.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
SHOW_MINUTE |
---|
10 |
“10” ir minūtes vērtība dotajā laikā. Tādējādi tas tiek parādīts kā izeja.
6. piemērs:
Uzrakstiet vaicājumu, lai parādītu sekundes no dotā laika, t.i., 19:10:43.
Vaicājums:
atlasiet sql no vairākām tabulām
mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju EXTRACT (), lai iegūtu sekunžu vērtību no dotā laika. SHOW_SECOND ir aizstājvārds, lai saglabātu sekundes vērtību.
Pēc iepriekš minētā vaicājuma izpildes mēs saņēmām šādu izvadi:
SHOW_SECOND |
---|
43 |
43 ir otrā vērtība dotajā laikā. Tādējādi tas tiek parādīts kā izeja.
6. DATE_ADD()
Izmantojot SQL funkciju DATE_ADD (), mēs varam pievienot noteiktu laika intervālu norādītajam datumam.
Sintakse:
SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added);
1. piemērs:
Uzrakstiet vaicājumu, lai norādītajam datumam pievienotu 15 dienu intervālu, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_ADD (), lai norādītajam datumam pievienotu 15 dienu intervālu. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.
Jūs saņemsiet šādu izvadi:
JAUNUMS_DATE |
---|
2021-11-08 |
Pēc 15 dienu intervāla pievienošanas 2021-10-24 jaunais datums ir 2021-11-08.
2. piemērs:
Uzrakstiet vaicājumu, lai norādītajam datumam pievienotu 5 mēnešu intervālu, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_ADD (), lai norādītajam datumam pievienotu 5 mēnešu intervālu. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.
Jūs saņemsiet šādu izvadi:
JAUNUMS_DATE |
---|
2022-03-24 |
Pēc 5 mēnešu intervāla pievienošanas 2021-10-24 jaunais datums ir 2022-03-24.
3. piemērs:
galvenā metode java
Uzrakstiet vaicājumu, lai norādītajam datumam pievienotu 25 gadu intervālu, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_ADD (), lai norādītajam datumam pievienotu 25 gadu intervālu. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.
Jūs saņemsiet šādu izvadi:
JAUNUMS_DATE |
---|
2046-10-24 |
Pēc 25 gadu intervāla pievienošanas 2021-10-24 jaunais datums ir 2046-10-24.
7. DATE_SUB()
Izmantojot funkciju DATE_SUB () SQL, mēs varam noņemt noteiktu laika intervālu no norādītā datuma.
Sintakse:
SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted);
1. piemērs:
Uzrakstiet vaicājumu, lai noņemtu 25 gadu intervālu no norādītā datuma, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_SUB(), lai noņemtu 25 gadu intervālu no norādītā datuma. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.
Jūs saņemsiet šādu izvadi:
JAUNUMS_DATE |
---|
1996-10-24 |
Pēc 25 gadu intervāla noņemšanas no 2021-10-24 jaunais datums ir 1996-10-24.
2. piemērs:
Uzrakstiet vaicājumu, lai noņemtu 5 mēnešu intervālu no norādītā datuma, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_SUB(), lai noņemtu 5 mēnešu intervālu no norādītā datuma. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.
Jūs saņemsiet šādu izvadi:
JAUNUMS_DATE |
---|
2021-05-24 |
Pēc 5 mēnešu intervāla noņemšanas no 2021-10-24 jaunais datums ir 2021-05-24.
3. piemērs:
Uzrakstiet vaicājumu, lai noņemtu 15 dienu intervālu no norādītā datuma, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_SUB(), lai noņemtu 15 dienu intervālu no norādītā datuma. NEW_DATE ir aizstājvārds, lai saglabātu jauna datuma vērtību.
Jūs saņemsiet šādu izvadi:
JAUNUMS_DATE |
---|
2021-10-09 |
Pēc 15 dienu intervāla noņemšanas no 2021-10-24 jaunais datums ir 2021-10-09.
8. DATEDIFF()
Izmantojot funkciju DATEDIFF() SQL, tiks parādīts dienu skaits, kas ir starp diviem norādītajiem datumiem.
Sintakse:
SELECT DATEDIFF(Date1, Date2);
1. piemērs:
Uzrakstiet vaicājumu, lai aprēķinātu atšķirību starp diviem norādītajiem datumiem, t.i., 24th2021. gada oktobris un 9. oktobristh2021. gada oktobris.
Vaicājums:
mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_DIFF(), lai iegūtu atšķirību starp datumiem 2021-10-24 un 2021-10-09. Number_of_Days ir aizstājvārds, lai saglabātu atšķirību dienu skaita izteiksmē.
Jūs saņemsiet šādu izvadi:
Dienu_skaits |
---|
piecpadsmit |
Starp datumiem 2021-10-24 un 2021-10-09 ir 15 dienu atšķirība.
2. piemērs:
Uzrakstiet vaicājumu, lai aprēķinātu atšķirību starp diviem norādītajiem datumiem, t.i., 5th2018. gada maijs un 5. maijsth2008. gada maijs.
Vaicājums:
mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_DIFF (), lai iegūtu atšķirību starp datumiem 2018-05-05 un 2008-05-05. Number_of_Days ir aizstājvārds, lai saglabātu atšķirību dienu skaita izteiksmē.
Jūs saņemsiet šādu izvadi:
Dienu_skaits |
---|
3652 |
Starp datumiem 2018-05-05 un 2008-05-05 ir 3652 dienu atšķirība.
9. DATE_FORMAT()
Izmantojot funkciju DATE_FORMAT () SQL, mēs varam parādīt ar datumu vai laiku saistīto informāciju labi formatētā veidā.
Funkcijas DATE_FORMAT izmantošanas sintakse tabulas kolonnā:
SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name;
VAI
Sintakse konkrēta datuma formatēšanai:
SELECT DATE_FORMAT (Date, Expression);
1. piemērs:
Uzrakstiet vaicājumu, lai dotais datums tiktu parādīts labi formatētā veidā, t.i., 24th2021. gada oktobris.
Vaicājums:
mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_FORMAT (), lai iegūtu datumu 2021-10-24 formatētā formā. Formatted_Date ir aizstājvārds formatētā datuma glabāšanai.
Python ir skaitlisks
Jūs saņemsiet šādu izvadi:
Formatted_Date |
---|
Svētdien, 24.10.2021 |
Svētdiena, 2021. gada 24. oktobris, ir formatētais datums 2021. gada 24. oktobrī.
2. piemērs:
Uzrakstiet vaicājumu, lai norādītais datums un laiks tiktu parādīts labi formatētā veidā, t.i., 24th2021. gada oktobris, 22:30:17.
Vaicājums:
mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_FORMAT (), lai iegūtu datumu un laiku '2021-10-24 22:30:17' formatētā formā. Formatted_DateTime ir aizstājvārds formatētā datuma un laika glabāšanai.
Jūs saņemsiet šādu izvadi:
Formatted_DateTime |
---|
Svētdien, 2021. gada 24. oktobrī, plkst. 22:30:17 |
Svētdiena, 2021. gada 24. oktobris, 22:30:17 ir formatētais datums un laiks 2021. gada 24. gada 24. gada 22. 30.17.
3. piemērs:
Uzrakstiet vaicājumu, lai labi formatētā veidā parādītu visu informāciju no studenta kolonnas ar kolonnu DateTime_Birth.
Vaicājums:
mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student;
Šeit mēs esam uzrakstījuši SELECT vaicājumu ar funkciju DATE_FORMAT (), lai iegūtu datumu un laiku visiem ierakstiem formatētā formā. Formatted_DateTime ir aizstājvārds formatētā datuma un laika glabāšanai.
Jūs saņemsiet šādu izvadi:
ID | Vārds | Formatted_DateTime | Pilsēta |
---|---|---|---|
1 | Mansi Šahs | Piektdiena, 2010. gada 1. janvāris, 18:39:09 | Pune |
2 | Tejals Vags | Ceturtdiena, 2010. gada 4. marts, 05:13:19 | Nasiks |
3 | Sejals Kumari | Sestdiena, 2010. gada 1. maijs, 10:31:07 | Mumbaja |
4 | Sonal Jain | Ceturtdiena, 2010. gada 9. septembris, 17:17:07 | Šimla |
5 | Surili Mahešvari | Sestdiena, 2010. gada 10. jūlijs, 20:45:18 | Vēstule |
Visi ieraksti tiek parādīti tā, kā tas ir no studentu tabulas, izņemot kolonnu DateTime_Birth. Kolonnā Formatted_DateTime tiek parādīts tikai datums un laiks atbilstoši prasībām.