Tässä opetusohjelmassa opimme joistakin tärkeistä päivämääräfunktioista, jotka on sisäänrakennettu SQL:ään.
Päivämääräfunktiot SQL:ssä:
- NYT()
- CURDATE()
- KURTIME()
- PÄIVÄMÄÄRÄ()
- OTTAA TALTEEN()
- DATE_ADD()
- DATE_SUB()
- DATEDIFF()
- PÄIVÄMÄÄRÄMUOTO()
Katsotaanpa jokainen päivämäärätoiminto yksitellen yksityiskohtaisesti esimerkkien avulla. Käytämme MySQL-tietokantaa esimerkeissä kyselyiden kirjoittamiseen.
Oletetaan, että meillä on opiskelijataulukko, jossa on seuraavat tiedot:
ID | Nimi | DateTime_Birth | Kaupunki |
---|---|---|---|
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 | 10.7.2010 20:45:18 | Kirje |
Käytämme tätä taulukkoa joissakin esimerkeissä.
1. NYT():
NOW ()-funktio SQL:ssä antaa nykyisen järjestelmän päivämäärän ja kellonajan.
Syntaksi:
SELECT NOW ();
Esimerkki:
Kirjoita kysely näyttääksesi nykyisen järjestelmän päivämäärän ja kellonajan.
Kysely:
mysql> SELECT NOW () AS Current_Date_Time;
Täällä olemme kirjoittaneet SELECT-kyselyn NOW ()-funktiolla saadaksemme järjestelmän nykyisen päivämäärän ja kellonajan. Current_Date_Time on alias päivämäärän ja ajan tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
Nykyinen_Päiväys_Aika |
---|
24.10.2021 klo 18.28.44 |
Päivämäärä ja kellonaika, jolloin kysely suoritettiin järjestelmässä, on 24thlokakuuta 2021 ja 18.28.44. Siksi se näytetään ulostulona.
2. KURDATE()
SQL:n CURDATE ()-funktio antaa nykyisen järjestelmän päivämäärän.
määrittelemätön kaltevuus
Syntaksi:
SELECT CURDATE ();
Esimerkki:
Kirjoita kysely näyttääksesi nykyisen järjestelmän päivämäärän.
Kysely:
mysql> SELECT CURDATE () AS CurrentDate;
Täällä olemme kirjoittaneet SELECT-kyselyn CURDATE () -funktiolla saadaksemme järjestelmän nykyisen päivämäärän. CurrentDate on alias päivämäärän tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
CurrentDate |
---|
24.10.2021 |
Päivämäärä, jolloin kysely suoritettiin järjestelmässä, on 24thLokakuu 2021. Tästä syystä se näytetään tulosteena.
3. CURTIME()
SQL:n CURTIME ()-funktio antaa nykyisen järjestelmän ajan.
Syntaksi:
SELECT CURTIME ();
Esimerkki:
Kirjoita kysely näyttääksesi nykyisen järjestelmän ajan.
Kysely:
mysql> SELECT CURTIME () AS CurrentTime;
Täällä olemme kirjoittaneet SELECT-kyselyn CURTIME () -funktiolla saadaksemme järjestelmän nykyisen ajan. CurrentTime on alias ajan tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
Nykyinen aika |
---|
18:49:07 |
Aika, jolloin kysely suoritettiin järjestelmässä, on 18:49:07. Siksi se näytetään ulostulona.
4. PÄIVÄYS()
Käyttämällä DATE () -funktiota SQL:ssä voit erityisesti poimia päivämäärän DATETIME-tietotyyppisarakkeesta.
Syntaksi:
SELECT DATE (DateTimeValue);
Esimerkki 1:
Kirjoita kysely näyttääksesi päivämäärä annetusta päivämäärästä ja kellonajasta, eli 2021-10-24 18:28:44.
Kysely:
mysql> SELECT DATE ('2021-10-24 18:28:44') AS SHOW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn PÄIVÄYS ()-funktiolla saadaksemme vain päivämäärän päivämäärä- ja aikaparametrista, joka on välitetty DATE()-funktiolle. SHOW_DATE on alias päivämäärän tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
SHOW_DATE |
---|
24.10.2021 |
Päivämäärä- ja aikaparametrista eli '2021-10-24 18:28:44' päivämääräarvo on 2021-10-24. Siksi se näytetään ulostulona.
Esimerkki 2:
Kirjoita kysely näyttääksesi kaikki opiskelijataulukon tiedot päivämäärällä opiskelijataulukon DateTime_Birth -sarakkeesta.
Kysely:
mysql> SELECT ID, Name, DATE(DateTime_Birth) AS Date_of_Birth, City FROM student;
Täällä olemme kirjoittaneet SELECT-kyselyn tunnuksen ja nimen hakemiseksi. Date_of_Birth on DateTime_Birth alias. Olemme käyttäneet Date_of_Birth -funktiota DATE () -funktion kanssa saadaksemme vain päivämäärän.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
ID | Nimi | Syntymäaika | Kaupunki |
---|---|---|---|
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 | Kirje |
Kaikki tietueet näytetään sellaisenaan opiskelijataulukosta DateTime_Birth -saraketta lukuun ottamatta. Vain päivämäärä näytetään Date_of_Birth -sarakkeessa vaatimuksen mukaisesti.
5. OTE()
Käyttämällä EXTRACT()-funktiota SQL:ssä voimme poimia tietyn osan päivämäärästä ja ajasta tarpeidemme mukaan: päivä, kuukausi, vuosi, päivä, tunti, minuutti jne.
Syntaksi:
SELECT EXTRACT (PART FROM DATE / TIME);
Esimerkki 1:
Kirjoita kysely näyttääksesi vuoden annetusta päivämäärästä, eli 24thLokakuu 2021.
Kysely:
mysql> SELECT EXTRACT (YEAR FROM '2021-10-24') AS SHOW_YEAR;
Täällä olemme kirjoittaneet SELECT-kyselyn EXTRACT () -funktiolla saadaksemme vuoden annetusta päivämäärästä. SHOW_YEAR on alias vuoden tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
SHOW_YEAR |
---|
2021 |
'2021' on vuosi annetussa päivämäärässä. Siksi se näytetään ulostulona.
Esimerkki 2:
javatable
Kirjoita kysely näyttääksesi kuukauden annetusta päivämäärästä, eli 24thLokakuu 2021.
Kysely:
mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH;
Täällä olemme kirjoittaneet SELECT-kyselyn EXTRACT () -funktiolla saadaksemme kuukauden annetusta päivämäärästä. SHOW_MONTH on alias kuukauden tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
SHOW_MONTH |
---|
10 |
10thon kuukauden arvo annettuna päivänä. Siksi se näytetään ulostulona.
Esimerkki 3:
Kirjoita kysely näyttääksesi päivän annetusta päivämäärästä, eli 24thLokakuu 2021.
Kysely:
mysql> SELECT EXTRACT (DAY FROM '2021-10-24') AS SHOW_DAY;
Täällä olemme kirjoittaneet SELECT-kyselyn EXTRACT () -funktiolla saadaksemme päivän annetusta päivämäärästä. SHOW_DAY on alias päivän tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
SHOW_DAY |
---|
24 |
24thon päivän arvo annetussa päivämäärässä. Siksi se näytetään ulostulona.
Esimerkki 4:
Kirjoita kysely näyttääksesi tunnit annetusta ajasta, eli 19:10:43.
Kysely:
python on numeerinen
mysql> SELECT EXTRACT (HOUR FROM '19:10:43') AS SHOW_HOUR;
Täällä olemme kirjoittaneet SELECT-kyselyn EXTRACT () -funktiolla saadaksemme tunnin annetusta ajasta. SHOW_HOUR on alias tunnin arvon tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
SHOW_HOUR |
---|
19 |
'19' on tuntiarvo annetussa ajassa. Siksi se näytetään ulostulona.
Esimerkki 5:
Kirjoita kysely näyttääksesi minuutit annetusta ajasta, eli 19:10:43.
Kysely:
mysql> SELECT EXTRACT (MINUTE FROM '19:10:43') AS SHOW_MINUTE;
Täällä olemme kirjoittaneet SELECT-kyselyn EXTRACT () -funktiolla saadaksemme minuuttiarvon annetusta ajasta. SHOW_MINUTE on alias minuutin tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
SHOW_MINUTE |
---|
10 |
'10' on minuuttiarvo annetussa ajassa. Siksi se näytetään ulostulona.
Esimerkki 6:
Kirjoita kysely näyttääksesi sekunnit annetusta ajasta, eli 19:10:43.
Kysely:
mysql> SELECT EXTRACT (SECOND FROM '19:10:43') AS SHOW_SECOND;
Täällä olemme kirjoittaneet SELECT-kyselyn EXTRACT () -funktiolla saadaksemme sekuntiarvon annetusta ajasta. SHOW_SECOND on alias sekunnin arvon tallentamiseen.
Yllä olevan kyselyn suorittamisen jälkeen saimme seuraavan tuloksen:
SHOW_SECOND |
---|
43 |
43 on toinen arvo annetussa ajassa. Siksi se näytetään ulostulona.
6. DATE_ADD()
Käyttämällä DATE_ADD () -funktiota SQL:ssä voimme lisätä tietyn aikavälin annettuun päivämäärään.
Syntaksi:
SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added);
Esimerkki 1:
Kirjoita kysely lisätäksesi 15 päivän välein annettuun päivämäärään, eli 24thlokakuu, 2021.
Kysely:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_ADD () -funktiolla lisätäksemme 15 päivän välein annettuun päivämäärään. NEW_DATE on alias uuden päivämäärän arvon tallentamiseen.
Saat seuraavan tulosteen:
NEW_DATE |
---|
08.11.2021 |
Kun 15 päivän väli on lisätty 24.10.2021, uusi päivämäärä on 2021-11-08.
Esimerkki 2:
Kirjoita kysely lisätäksesi 5 kuukauden välein annettuun päivämäärään, eli 24thlokakuu, 2021.
Kysely:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_ADD () -funktiolla lisätäksemme 5 kuukauden välein annettuun päivämäärään. NEW_DATE on alias uuden päivämäärän arvon tallentamiseen.
Saat seuraavan tulosteen:
NEW_DATE |
---|
24.3.2022 |
Kun 5 kuukauden väli on lisätty 24.10.2021, uusi päivämäärä on 24.3.2022.
Esimerkki 3:
Kirjoita kysely lisätäksesi 25 vuoden välein annettuun päivämäärään, eli 24thlokakuu, 2021.
Kysely:
mysql> SELECT DATE_ADD ('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_ADD () -funktiolla lisätäksemme 25 vuoden välein annettuun päivämäärään. NEW_DATE on alias uuden päivämäärän arvon tallentamiseen.
Saat seuraavan tulosteen:
NEW_DATE |
---|
2046-10-24 |
Kun 25 vuoden väli on lisätty 2021-10-24, uusi päivämäärä on 2046-10-24.
7. DATE_SUB()
Käyttämällä DATE_SUB () -funktiota SQL:ssä voimme poistaa tietyn aikavälin annetusta päivämäärästä.
Syntaksi:
SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted);
Esimerkki 1:
Kirjoita kysely poistaaksesi 25 vuoden ajanjakson annetusta päivämäärästä, eli 24thlokakuu, 2021.
Kysely:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 25 YEAR) AS NEW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_SUB()-funktiolla poistaaksemme 25 vuoden ajanjakson annetusta päivämäärästä. NEW_DATE on alias uuden päivämäärän arvon tallentamiseen.
Saat seuraavan tulosteen:
NEW_DATE |
---|
24.10.1996 |
Kun 25 vuoden väli on poistettu 24.10.2021, uusi päivämäärä on 24.10.1996.
Esimerkki 2:
Kirjoita kysely poistaaksesi 5 kuukauden väli annetusta päivämäärästä, eli 24thlokakuu, 2021.
Kysely:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 5 MONTH) AS NEW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_SUB()-funktiolla poistaaksemme 5 kuukauden ajanjakson annetusta päivämäärästä. NEW_DATE on alias uuden päivämäärän arvon tallentamiseen.
Saat seuraavan tulosteen:
NEW_DATE |
---|
24.5.2021 |
Kun 5 kuukauden väli on poistettu 24.10.2021, uusi päivämäärä on 24.5.2021.
java lista -menetelmiä
Esimerkki 3:
Kirjoita kysely poistaaksesi 15 päivän väli annetusta päivämäärästä, eli 24thlokakuu, 2021.
Kysely:
mysql> SELECT DATE_SUB('2021-10-24', INTERVAL 15 DAY) AS NEW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_SUB()-funktiolla poistaaksemme 15 päivän ajanjakson annetusta päivämäärästä. NEW_DATE on alias uuden päivämäärän arvon tallentamiseen.
Saat seuraavan tulosteen:
NEW_DATE |
---|
2021-10-09 |
Kun 15 päivän väli on poistettu 24.10.2021, uusi päivämäärä on 2021-10-09.
8. DATEDIFF()
DATEDIFF()-funktion käyttäminen SQL:ssä antaa meille kahden annetun päivämäärän väliin jäävien päivien määrän.
Syntaksi:
SELECT DATEDIFF(Date1, Date2);
Esimerkki 1:
Kirjoita kysely kahden tietyn päivämäärän eron laskemiseksi, eli 24thlokakuuta 2021 ja 9thlokakuu, 2021.
Kysely:
mysql> SELECT DATEDIFF('2021-10-24', '2021-10-09') AS NEW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_DIFF()-funktiolla saadaksemme eron päivämäärien 2021-10-24 ja 2021-10-09 välillä. Number_of_Days on alias päivien lukumäärän eron tallentamiseen.
Saat seuraavan tulosteen:
Päivien määrä |
---|
viisitoista |
Päivämäärien 2021-10-24 ja 2021-10-09 välillä on 15 päivän ero.
Esimerkki 2:
Kirjoita kysely kahden tietyn päivämäärän eron laskemiseksi, eli 5thtoukokuuta 2018 ja 5thtoukokuu, 2008.
Kysely:
mysql> SELECT DATEDIFF ('2018-05-05', '2008-05-05') AS NEW_DATE;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_DIFF () -funktiolla saadaksemme eron päivämäärien 2018-05-05 ja 2008-05-05 välillä. Number_of_Days on alias päivien lukumäärän eron tallentamiseen.
Saat seuraavan tulosteen:
Päivien määrä |
---|
3652 |
Päivämäärien 2018-05-05 ja 2008-05-05 välillä on 3652 päivän ero.
9. DATE_FORMAT()
Käyttämällä DATE_FORMAT () -funktiota SQL:ssä voimme näyttää päivämäärän tai kellonajan liittyvät tiedot hyvin muotoillulla tavalla.
Syntaksi DATE_FORMAT-funktion käyttämiselle taulukon sarakkeessa:
SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name;
TAI
Syntaksi tietyn päivämäärän muotoilemiseksi:
SELECT DATE_FORMAT (Date, Expression);
Esimerkki 1:
Kirjoita kysely näyttääksesi annetun päivämäärän hyvin muotoillulla tavalla, eli 24thlokakuu, 2021.
Kysely:
mysql> SELECT DATE_FORMAT ('2021-10-24', '%W %D %M %Y') AS Formatted_Date;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_FORMAT () -funktiolla saadaksemme päivämäärän 2021-10-24 muotoillussa muodossa. Formatted_Date on alias muotoillun päivämäärän tallentamiseen.
centos vs redhat
Saat seuraavan tulosteen:
Muotoiltu_päivämäärä |
---|
Sunnuntai 24.10.2021 |
Sunnuntai 24.10.2021 on muotoiltu päivämäärä kaudelle 2021-10-24.
Esimerkki 2:
Kirjoita kysely näyttääksesi annetun päivämäärän ja kellonajan hyvin muotoillulla tavalla, eli 24thlokakuuta 2021 klo 22.30.17.
Kysely:
mysql> SELECT DATE_FORMAT ('2021-10-24 22:30:17', '%W %D %M %Y %r') AS Formatted_DateTime;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_FORMAT () -funktiolla saadaksemme päivämäärän ja kellonajan '2021-10-24 22:30:17' muotoillussa muodossa. Formatted_DateTime on alias muotoillun päivämäärän ja kellonajan tallentamiseen.
Saat seuraavan tulosteen:
Formatted_DateTime |
---|
Sunnuntai 24.10.2021 klo 22.30.17 |
Sunnuntai 24. lokakuuta 2021 klo 22.30.17 on muotoiltu päivämäärä ja kellonaika ajalle 2021-10-24 klo 22.30.17.
Esimerkki 3:
Kirjoita kysely näyttääksesi kaikki tiedot opiskelijasarakkeesta DateTime_Birth -sarakkeella hyvin muotoillulla tavalla.
Kysely:
mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student;
Täällä olemme kirjoittaneet SELECT-kyselyn DATE_FORMAT () -funktiolla saadaksemme päivämäärän ja kellonajan kaikille tietueille muotoillussa muodossa. Formatted_DateTime on alias muotoillun päivämäärän ja kellonajan tallentamiseen.
Saat seuraavan tulosteen:
ID | Nimi | Formatted_DateTime | Kaupunki |
---|---|---|---|
1 | Mansi Shah | Perjantai 1. tammikuuta 2010 18:39:09 | Pune |
2 | Tejal Wagh | Torstai 4. maaliskuuta 2010 05:13:19 AM | Nasik |
3 | Sejal Kumari | Lauantai 1. toukokuuta 2010 klo 10.31.07 | Mumbai |
4 | Sonal Jain | Torstai 9. syyskuuta 2010 17:17:07 | Shimla |
5 | Surili Maheshwari | Lauantai 10. heinäkuuta 2010 20:45:18 | Kirje |
Kaikki tietueet näytetään sellaisenaan opiskelijataulukosta DateTime_Birth -saraketta lukuun ottamatta. Formatted_DateTime -sarakkeessa näytetään vain päivämäärä ja aika vaaditulla tavalla.