V tej vadnici se bomo seznanili z nekaterimi pomembnimi datumskimi funkcijami, ki so vgrajene v SQL.
Datumske funkcije v SQL:
- ZDAJ()
- CURDATE()
- CURTIME()
- DATUM()
- IZVLEČEK()
- DATE_ADD()
- DATE_SUB()
- DATEDIFF()
- FORMAT DATUMA()
Oglejmo si podrobneje vsako funkcijo datuma eno za drugo s pomočjo primerov. Za pisanje poizvedb bomo v primerih uporabljali bazo MySQL.
Recimo, da imamo tabelo študentov z naslednjimi podatki:
ID | Ime | DatumUra_Rojstvo | Mesto |
---|---|---|---|
1 | Mansi Šah | 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 | Mumbaj |
4 | Sonal Jain | 2010-09-09 17:17:07 | Šimla |
5 | Surili Maheshwari | 2010-07-10 20:45:18 | Pismo |
To tabelo bomo uporabili v nekaterih primerih.
1. ZDAJ():
Funkcija NOW () v SQL bo dala datum in čas trenutnega sistema.
Sintaksa:
SELECT NOW ();
primer:
Napišite poizvedbo za prikaz datuma in ure trenutnega sistema.
poizvedba:
mysql> SELECT NOW () AS Current_Date_Time;
Tukaj smo napisali poizvedbo SELECT s funkcijo NOW (), da dobimo trenutni datum in uro sistema. Current_Date_Time je vzdevek za shranjevanje datuma in ure.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
Trenutni_datum_čas |
---|
2021-10-24 18:28:44 |
Datum in ura, ko je bila poizvedba izvedena v sistemu, sta 24thoktober 2021 in 18:28:44. Zato je prikazan kot izhod.
2. CURDATE()
Funkcija CURDATE () v SQL poda datum trenutnega sistema.
osnove java
Sintaksa:
SELECT CURDATE ();
primer:
Napišite poizvedbo za prikaz trenutnega sistemskega datuma.
poizvedba:
mysql> SELECT CURDATE () AS CurrentDate;
Tukaj smo napisali poizvedbo SELECT s funkcijo CURDATE (), da dobimo trenutni datum sistema. CurrentDate je vzdevek za shranjevanje datuma.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
Trenutni datum |
---|
2021-10-24 |
Datum, ko je bila poizvedba izvedena v sistemu, je 24thOktober 2021. Zato je prikazan kot rezultat.
3. CURTIME()
Funkcija CURTIME () v SQL poda trenutni sistemski čas.
Sintaksa:
SELECT CURTIME ();
primer:
Napišite poizvedbo za prikaz trenutnega sistemskega časa.
poizvedba:
mysql> SELECT CURTIME () AS CurrentTime;
Tukaj smo napisali poizvedbo SELECT s funkcijo CURTIME (), da dobimo trenutni čas sistema. CurrentTime je vzdevek za shranjevanje časa.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
Trenutni čas |
---|
18:49:07 |
Čas, ko je bila poizvedba izvedena v sistemu, je 18:49:07. Zato je prikazan kot izhod.
4. DATUM()
S funkcijo DATE () v SQL lahko posebej ekstrahirate datum iz stolpca podatkovnega tipa DATETIME.
Sintaksa:
SELECT DATE (DateTimeValue);
Primer 1:
Napišite poizvedbo za prikaz datuma od podanega datuma in časa, tj. 2021-10-24 18:28:44.
poizvedba:
mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE (), da dobimo samo datum iz parametra datuma in časa, posredovanega funkciji DATE(). SHOW_DATE je vzdevek za shranjevanje datuma.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
SHOW_DATE |
---|
2021-10-24 |
Iz parametra datuma in časa, tj. '2021-10-24 18:28:44', je vrednost datuma 2021-10-24. Zato je prikazan kot izhod.
Primer 2:
Napišite poizvedbo za prikaz vseh podrobnosti iz tabele študentov z datumom iz stolpca DateTime_Birth tabele študentov.
poizvedba:
mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student;
Tukaj smo napisali poizvedbo SELECT za pridobivanje ID-ja in imena. Date_of_Birth je vzdevek za DateTime_Birth. Uporabili smo Date_of_Birth s funkcijo DATE (), da bi dobili samo datum.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
ID | Ime | Datum rojstva | Mesto |
---|---|---|---|
1 | Mansi Šah | 2010-01-01 | Pune |
2 | Tejal Wagh | 2010-03-04 | Nasik |
3 | Sejal Kumari | 2010-05-01 | Mumbaj |
4 | Sonal Jain | 2010-09-09 | Šimla |
5 | Surili Maheshwari | 2010-07-10 | Pismo |
Vsi zapisi so prikazani, kot so iz tabele študentov, razen stolpca DateTime_Birth. V stolpcu Date_of_Birth je prikazan samo datum v skladu z zahtevo.
5. IZVLEČEK()
S funkcijo EXTRACT() v SQL lahko izvlečemo določen del datuma in časa glede na naše zahteve: dan, mesec, leto, dan, uro, minuto itd.
Sintaksa:
SELECT EXTRACT (PART FROM DATE / TIME);
Primer 1:
Napišite poizvedbo za prikaz leta od podanega datuma, tj. 24thoktober 2021.
poizvedba:
mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR;
Tukaj smo napisali poizvedbo SELECT s funkcijo EXTRACT (), da dobimo leto od podanega datuma. SHOW_YEAR je vzdevek za shranjevanje leta.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
SHOW_YEAR |
---|
2021 |
'2021' je leto v navedenem datumu. Zato je prikazan kot izhod.
spremenljivka javascript global
Primer 2:
Napišite poizvedbo za prikaz meseca od danega datuma, tj. 24thoktober 2021.
poizvedba:
mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH;
Tukaj smo napisali poizvedbo SELECT s funkcijo EXTRACT (), da dobimo mesec od podanega datuma. SHOW_MONTH je vzdevek za shranjevanje meseca.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
SHOW_MONTH |
---|
10 |
10thje mesečna vrednost v danem datumu. Zato je prikazan kot izhod.
Primer 3:
Napišite poizvedbo za prikaz dneva od podanega datuma, tj. 24thoktober 2021.
poizvedba:
mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY;
Tukaj smo napisali poizvedbo SELECT s funkcijo EXTRACT (), da dobimo dan od podanega datuma. SHOW_DAY je vzdevek za shranjevanje dneva.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
SHOW_DAY |
---|
24 |
24thje dnevna vrednost v danem datumu. Zato je prikazan kot izhod.
Primer 4:
Napišite poizvedbo za prikaz ure od danega časa, tj. 19:10:43.
poizvedba:
mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR;
Tukaj smo napisali poizvedbo SELECT s funkcijo EXTRACT (), da dobimo uro iz danega časa. SHOW_HOUR je vzdevek za shranjevanje vrednosti ure.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
SHOW_HOUR |
---|
19 |
'19' je urna vrednost v danem času. Zato je prikazan kot izhod.
Primer 5:
Napišite poizvedbo za prikaz minut od danega časa, tj. 19:10:43.
poizvedba:
mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE;
Tukaj smo napisali poizvedbo SELECT s funkcijo EXTRACT (), da dobimo minutno vrednost iz danega časa. SHOW_MINUTE je vzdevek za shranjevanje minut.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
SHOW_MINUTE |
---|
10 |
'10' je minutna vrednost v danem času. Zato je prikazan kot izhod.
Primer 6:
Napišite poizvedbo za prikaz sekund od danega časa, tj. 19:10:43.
poizvedba:
mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND;
Tukaj smo napisali poizvedbo SELECT s funkcijo EXTRACT (), da dobimo vrednost sekund iz danega časa. SHOW_SECOND je vzdevek za shranjevanje vrednosti sekunde.
Po izvedbi zgornje poizvedbe smo dobili naslednji rezultat:
SHOW_SECOND |
---|
43 |
43 je druga vrednost v danem času. Zato je prikazan kot izhod.
6. DATE_ADD()
S funkcijo DATE_ADD () v SQL lahko danemu datumu dodamo določen časovni interval.
Sintaksa:
SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added);
Primer 1:
Napišite poizvedbo, da podanemu datumu dodate interval 15 dni, tj. 24thOktober 2021.
poizvedba:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_ADD (), da danemu datumu dodamo interval 15 dni. NEW_DATE je vzdevek za shranjevanje vrednosti novega datuma.
Dobili boste naslednje rezultate:
NEW_DATE |
---|
2021-11-08 |
Po dodajanju 15-dnevnega intervala na 2021-10-24 je novi datum 2021-11-08.
Primer 2:
Napišite poizvedbo, da danemu datumu dodate interval 5 mesecev, tj. 24thOktober 2021.
poizvedba:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_ADD (), da danemu datumu dodamo interval 5 mesecev. NEW_DATE je vzdevek za shranjevanje vrednosti novega datuma.
Dobili boste naslednje rezultate:
bool v niz java
NEW_DATE |
---|
2022-03-24 |
Po dodajanju 5-mesečnega intervala na 2021-10-24 je novi datum 2022-03-24.
Primer 3:
Napišite poizvedbo, da danemu datumu dodate interval 25 let, tj. 24thOktober 2021.
poizvedba:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_ADD (), da danemu datumu dodamo interval 25 let. NEW_DATE je vzdevek za shranjevanje vrednosti novega datuma.
Dobili boste naslednje rezultate:
NEW_DATE |
---|
2046-10-24 |
Po dodajanju 25-letnega intervala 2021-10-24 je novi datum 2046-10-24.
7. DATE_SUB()
S funkcijo DATE_SUB () v SQL lahko odstranimo določen časovni interval iz podanega datuma.
Sintaksa:
SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted);
Primer 1:
Napišite poizvedbo za odstranitev intervala 25 let od podanega datuma, tj. 24thOktober 2021.
poizvedba:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_SUB(), da odstranimo interval 25 let od podanega datuma. NEW_DATE je vzdevek za shranjevanje vrednosti novega datuma.
Dobili boste naslednje rezultate:
NEW_DATE |
---|
1996-10-24 |
Po odstranitvi 25-letnega intervala iz 2021-10-24 je novi datum 1996-10-24.
Primer 2:
Napišite poizvedbo za odstranitev intervala 5 mesecev od podanega datuma, tj. 24thOktober 2021.
poizvedba:
odzivna tabela
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_SUB(), da odstranimo interval 5 mesecev od danega datuma. NEW_DATE je vzdevek za shranjevanje vrednosti novega datuma.
Dobili boste naslednje rezultate:
NEW_DATE |
---|
2021-05-24 |
Po odstranitvi 5-mesečnega intervala iz 2021-10-24 je novi datum 2021-05-24.
Primer 3:
Napišite poizvedbo za odstranitev intervala 15 dni od danega datuma, tj. 24thOktober 2021.
poizvedba:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_SUB(), da odstranimo interval 15 dni od danega datuma. NEW_DATE je vzdevek za shranjevanje vrednosti novega datuma.
Dobili boste naslednje rezultate:
NEW_DATE |
---|
2021-10-09 |
Po odstranitvi 15-dnevnega intervala iz 2021-10-24 je novi datum 2021-10-09.
8. DATEDIFF()
Uporaba funkcije DATEDIFF() v SQL nam bo dala število dni, ki spadajo med podana datuma.
Sintaksa:
SELECT DATEDIFF(Date1, Date2);
Primer 1:
Napišite poizvedbo za izračun razlike med dvema podanima datumoma, tj. 24thoktober 2021 in 9thOktober 2021.
poizvedba:
mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_DIFF(), da dobimo razliko med datumoma 2021-10-24 in 2021-10-09. Number_of_Days je vzdevek za shranjevanje razlike glede na število dni.
Dobili boste naslednje rezultate:
Število_dni |
---|
petnajst |
Med datumoma 2021-10-24 in 2021-10-09 je razlika 15 dni.
Primer 2:
Napišite poizvedbo za izračun razlike med dvema podanima datumoma, tj. 5thmaja 2018 in 5thmaj 2008.
poizvedba:
mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_DIFF (), da dobimo razliko med datumoma 2018-05-05 in 2008-05-05. Number_of_Days je vzdevek za shranjevanje razlike glede na število dni.
Dobili boste naslednje rezultate:
Število_dni |
---|
3652 |
Med datumoma 2018-05-05 in 2008-05-05 je razlika 3652 dni.
9. DATE_FORMAT()
S funkcijo DATE_FORMAT () v SQL lahko prikažemo informacije, povezane z datumom ali uro, na dobro oblikovan način.
Sintaksa uporabe funkcije DATE_FORMAT v stolpcu tabele:
SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name;
ALI
Sintaksa za oblikovanje določenega datuma:
SELECT DATE_FORMAT (Date, Expression);
Primer 1:
Napišite poizvedbo za prikaz danega datuma na dobro oblikovan način, tj. 24thOktober 2021.
poizvedba:
mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_FORMAT (), da dobimo datum 2021-10-24 v oblikovani obliki. Formatted_Date je vzdevek za shranjevanje oblikovanega datuma.
linux kateri ukaz
Dobili boste naslednje rezultate:
Oblikovani_datum |
---|
Nedelja, 24. oktober 2021 |
Nedelja, 24. oktober 2021, je formatirani datum za 2021-10-24.
Primer 2:
Napišite poizvedbo za prikaz danega datuma in časa na dobro oblikovan način, tj. 24thOktober, 2021 22:30:17.
poizvedba:
mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_FORMAT (), da dobimo datum in čas '2021-10-24 22:30:17' v oblikovani obliki. Formatted_DateTime je vzdevek za shranjevanje oblikovanega datuma in ure.
Dobili boste naslednje rezultate:
Formatted_DateTime |
---|
Nedelja, 24. oktober 2021, 22:30:17 |
Nedelja, 24. oktober 2021, 22:30:17 je formatiran datum in čas za 2021-10-24 22:30:17.
Primer 3:
Napišite poizvedbo za prikaz vseh podrobnosti iz stolpca študenta s stolpcem DateTime_Birth na dobro oblikovan način.
poizvedba:
mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student;
Tukaj smo napisali poizvedbo SELECT s funkcijo DATE_FORMAT (), da dobimo datum in uro za vse zapise v formatirani obliki. Formatted_DateTime je vzdevek za shranjevanje oblikovanega datuma in ure.
Dobili boste naslednje rezultate:
ID | Ime | Formatted_DateTime | Mesto |
---|---|---|---|
1 | Mansi Šah | Petek, 1. januar 2010 18:39:09 | Pune |
2 | Tejal Wagh | Četrtek, 4. marec 2010, 05:13:19 | Nasik |
3 | Sejal Kumari | Sobota, 1. maj 2010 10:31:07 | Mumbaj |
4 | Sonal Jain | Četrtek, 9. september 2010 17:17:07 | Šimla |
5 | Surili Maheshwari | Sobota, 10. julij 2010 ob 20.45.18 | Pismo |
Vsi zapisi so prikazani, kot so iz tabele študentov, razen stolpca DateTime_Birth. V stolpcu Formatted_DateTime sta prikazana samo datum in ura, kot je zahtevano.