logo

SQL datos funkcijos

Šioje pamokoje sužinosime apie kai kurias svarbias datos funkcijas, kurios yra integruotos SQL.

Datos funkcijos SQL:

  1. DABAR ()
  2. CURDATE ()
  3. CURTIME ()
  4. DATA()
  5. IŠTRAUKTI ()
  6. DATE_ADD()
  7. DATE_SUB()
  8. DATEDIFF()
  9. DATOS FORMATAS()

Išsamiai pažvelkime į kiekvieną datos funkciją, naudodami pavyzdžius. Užklausų rašymo pavyzdžiuose naudosime MySQL duomenų bazę.

Apsvarstykite, kad turime studentų lentelę su šiais duomenimis:

ID vardas DateTime_Birth Miestas
1 Mansi Shah 2010-01-01 18:39:09 Pune
2 Tejalas Vagas 2010-03-04 05:13:19 val Nasik
3 Sejal Kumari 2010-05-01 10:31:07 Mumbajus
4 Sonal Jain 2010-09-09 17:17:07 Šimla
5 Surili Maheshwari 2010-07-10 20:45:18 val Laiškas

Kai kuriuose pavyzdžiuose naudosime šią lentelę.

1. DABAR ():

NOW () funkcija SQL pateiks dabartinės sistemos datą ir laiką.

Sintaksė:

 SELECT NOW (); 

Pavyzdys:

Parašykite užklausą, kad būtų rodoma esamos sistemos data ir laikas.

Užklausa:

 mysql> SELECT NOW () AS Current_Date_Time; 

Čia mes parašėme SELECT užklausą su funkcija DABAR () norėdami gauti dabartinę sistemos datą ir laiką. Current_Date_Time yra slapyvardis, skirtas išsaugoti datą ir laiką.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

Dabartinė_data_Laikas
2021-10-24 18:28:44

Data ir laikas, kada užklausa buvo įvykdyta sistemoje, yra 24th2021 m. spalio mėn. ir 18:28:44 val. Taigi jis rodomas kaip išvestis.

2. VARŠKĖ()

CURDATE () funkcija SQL pateiks dabartinės sistemos datą.

mašininis mokymasis ir tipai

Sintaksė:

 SELECT CURDATE (); 

Pavyzdys:

Parašykite užklausą, kad būtų rodoma esamos sistemos data.

Užklausa:

 mysql> SELECT CURDATE () AS CurrentDate; 

Čia mes parašėme SELECT užklausą su funkcija CURDATE (), kad gautume esamą sistemos datą. CurrentDate yra slapyvardis datai išsaugoti.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

Dabartinė data
2021-10-24

Data, kurią užklausa buvo įvykdyta sistemoje, yra 24th2021 m. spalio mėn. Taigi jis rodomas kaip išvestis.

3. CURTIME ()

CURTIME () funkcija SQL duos dabartinės sistemos laiką.

Sintaksė:

 SELECT CURTIME (); 

Pavyzdys:

Parašykite užklausą, kad būtų rodomas dabartinis sistemos laikas.

Užklausa:

 mysql> SELECT CURTIME () AS CurrentTime; 

Čia mes parašėme SELECT užklausą su funkcija CURTIME (), kad gautume esamą sistemos laiką. CurrentTime yra laiko saugojimo slapyvardis.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

Dabartinis laikas
18:49:07

Laikas, kada užklausa buvo įvykdyta sistemoje, yra 18:49:07. Taigi jis rodomas kaip išvestis.

4. DATA()

Naudodami SQL funkciją DATE () galite konkrečiai išskirti datą iš DATETIME duomenų tipo stulpelio.

Sintaksė:

 SELECT DATE (DateTimeValue); 

1 pavyzdys:

Parašykite užklausą, kad būtų rodoma data nuo nurodytos datos ir laiko, t. y. 2021-10-24 18:28:44.

Užklausa:

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

Čia mes parašėme SELECT užklausą su funkcija DATE (), kad gautume tik datą iš datos ir laiko parametro, perduoto funkcijai DATE (). SHOW_DATE yra slapyvardis datai išsaugoti.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

SHOW_DATE
2021-10-24

Nuo datos ir laiko parametro, pvz., „2021-10-24 18:28:44“, datos reikšmė yra 2021-10-24. Taigi jis rodomas kaip išvestis.

2 pavyzdys:

Parašykite užklausą, kad būtų rodoma visa informacija iš mokinio lentelės su data iš studento lentelės stulpelio DateTime_Birth.

Užklausa:

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

Čia mes parašėme SELECT užklausą, kad gautume ID ir pavadinimą. Date_of_Birth yra DateTime_Birth pseudonimas. Naudojome Gimimo_data su funkcija DATE () norėdami gauti tik datą.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

ID vardas Gimimo data Miestas
1 Mansi Shah 2010-01-01 Pune
2 Tejalas Vagas 2010-03-04 Nasik
3 Sejal Kumari 2010-05-01 Mumbajus
4 Sonal Jain 2010-09-09 Šimla
5 Surili Maheshwari 2010-07-10 Laiškas

Visi įrašai rodomi taip, kaip yra iš mokinio lentelės, išskyrus stulpelį DateTime_Birth. Gimimo_datos stulpelyje pagal reikalavimą rodoma tik data.

5. IŠTRAUKAS ()

Naudodami SQL funkciją EXTRACT() galime išgauti tam tikrą datos ir laiko dalį pagal mūsų reikalavimus: dieną, mėnesį, metus, dieną, valandą, minutę ir kt.

Sintaksė:

 SELECT EXTRACT (PART FROM DATE / TIME); 

1 pavyzdys:

Parašykite užklausą, kad būtų rodomi metai nuo nurodytos datos, t. y. 24th2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su funkcija EXTRACT (), kad gautume metus nuo nurodytos datos. SHOW_YEAR yra slapyvardis metams saugoti.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

SHOW_YEAR
2021 m

„2021“ yra metai nurodytoje datoje. Taigi jis rodomas kaip išvestis.

2 pavyzdys:

Parašykite užklausą, kad būtų rodomas mėnuo nuo nurodytos datos, ty 24 dth2021 m. spalio mėn.

Užklausa:

java į json objektą
 mysql> SELECT EXTRACT (MONTH FROM '2021-10-24') AS SHOW_MONTH; 

Čia mes parašėme SELECT užklausą su funkcija EXTRACT (), kad gautume mėnesį nuo nurodytos datos. SHOW_MONTH yra slapyvardis mėnesiui saugoti.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

SHOW_MONTH
10

10thyra mėnesio reikšmė nurodytą dieną. Taigi jis rodomas kaip išvestis.

3 pavyzdys:

Parašykite užklausą, kad būtų rodoma diena nuo nurodytos datos, ty 24 dth2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su funkcija EXTRACT (), kad gautume dieną nuo nurodytos datos. SHOW_DAY yra slapyvardis dienai išsaugoti.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

SHOW_DAY
24

24thyra dienos reikšmė nurodytą dieną. Taigi jis rodomas kaip išvestis.

4 pavyzdys:

Parašykite užklausą, kad būtų rodoma valanda nuo nurodyto laiko, ty 19:10:43.

Užklausa:

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

Čia mes parašėme SELECT užklausą su funkcija EXTRACT (), kad gautume valandą nuo nurodyto laiko. SHOW_HOUR yra slapyvardis, skirtas saugoti valandos vertę.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

SHOW_HOUR
19

„19“ yra valandos reikšmė nurodytu laiku. Taigi jis rodomas kaip išvestis.

5 pavyzdys:

Parašykite užklausą, kad būtų rodoma minutė nuo nurodyto laiko, ty 19:10:43.

Užklausa:

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

Čia mes parašėme SELECT užklausą su funkcija EXTRACT (), kad gautume minutės reikšmę nuo nurodyto laiko. SHOW_MINUTE yra minutės saugojimo slapyvardis.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

SHOW_MINUTE
10

„10“ yra minutės reikšmė nurodytu laiku. Taigi jis rodomas kaip išvestis.

6 pavyzdys:

Parašykite užklausą, kad būtų rodomos sekundės nuo nurodyto laiko, ty 19:10:43.

Užklausa:

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

Čia mes parašėme SELECT užklausą su funkcija EXTRACT (), kad gautume sekundžių reikšmę iš nurodyto laiko. SHOW_SECOND yra slapyvardis, skirtas saugoti sekundės reikšmę.

Atlikę aukščiau pateiktą užklausą, gavome tokią išvestį:

SHOW_SECOND
43

43 yra antra reikšmė per nurodytą laiką. Taigi jis rodomas kaip išvestis.

6. DATE_ADD()

Naudodami SQL funkciją DATE_ADD () prie nurodytos datos galime pridėti konkretų laiko intervalą.

Sintaksė:

 SELECT DATE_ADD (DATE, INTERVAL VALUE Unit_to_be_added); 

1 pavyzdys:

Parašykite užklausą, kad pridėtumėte 15 dienų intervalą prie nurodytos datos, ty 24th2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su DATE_ADD () funkcija, kad pridėtume 15 dienų intervalą prie nurodytos datos. NEW_DATE yra slapyvardis, skirtas išsaugoti naujos datos vertę.

Gausite tokią išvestį:

NEW_DATE
2021-11-08

Prie 2021-10-24 pridėjus 15 dienų intervalą, nauja data yra 2021-11-08.

2 pavyzdys:

Parašykite užklausą, kad pridėtumėte 5 mėnesių intervalą prie nurodytos datos, ty 24th2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su DATE_ADD () funkcija, kad pridėtume 5 mėnesių intervalą prie nurodytos datos. NEW_DATE yra slapyvardis, skirtas išsaugoti naujos datos vertę.

Gausite tokią išvestį:

NEW_DATE
2022-03-24

Prie 2021-10-24 pridėjus 5 mėnesių intervalą, nauja data yra 2022-03-24.

3 pavyzdys:

Parašykite užklausą, kad pridėtumėte 25 metų intervalą prie nurodytos datos, ty 24th2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su DATE_ADD () funkcija, kad pridėtume 25 metų intervalą prie nurodytos datos. NEW_DATE yra slapyvardis, skirtas išsaugoti naujos datos vertę.

Gausite tokią išvestį:

NEW_DATE
2046-10-24

Prie 2021-10-24 pridėjus 25 metų intervalą, nauja data yra 2046-10-24.

7. DATE_SUB()

Naudodami SQL funkciją DATE_SUB () galime pašalinti konkretų laiko intervalą nuo nurodytos datos.

Sintaksė:

 SELECT DATE_SUB (DATE, INTERVAL VALUE Unit_to_be_subtracted); 

1 pavyzdys:

Parašykite užklausą, kad pašalintumėte 25 metų intervalą nuo nurodytos datos, t.y. 24th2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su DATE_SUB() funkcija, kad pašalintume 25 metų intervalą nuo nurodytos datos. NEW_DATE yra slapyvardis, skirtas išsaugoti naujos datos vertę.

Gausite tokią išvestį:

NEW_DATE
1996-10-24

Pašalinus 25 metų intervalą nuo 2021-10-24, nauja data yra 1996-10-24.

2 pavyzdys:

Parašykite užklausą, kad pašalintumėte 5 mėnesių intervalą nuo nurodytos datos, t.y. 24th2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su DATE_SUB() funkcija, kad pašalintume 5 mėnesių intervalą nuo nurodytos datos. NEW_DATE yra slapyvardis, skirtas išsaugoti naujos datos vertę.

Gausite tokią išvestį:

NEW_DATE
2021-05-24

Pašalinus 5 mėnesių intervalą nuo 2021-10-24, nauja data yra 2021-05-24.

3 pavyzdys:

Parašykite užklausą, kad pašalintumėte 15 dienų intervalą nuo nurodytos datos, t. y. 24th2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su DATE_SUB() funkcija, kad pašalintume 15 dienų intervalą nuo nurodytos datos. NEW_DATE yra slapyvardis, skirtas išsaugoti naujos datos vertę.

Gausite tokią išvestį:

NEW_DATE
2021-10-09

Pašalinus 15 dienų intervalą nuo 2021-10-24, nauja data yra 2021-10-09.

mvc spyruokliniame karkase

8. DATEDIFF()

Naudojant funkciją DATEDIFF() SQL, bus pateiktas dienų skaičius, patenkantis tarp dviejų nurodytų datų.

Sintaksė:

 SELECT DATEDIFF(Date1, Date2); 

1 pavyzdys:

Parašykite užklausą, kad apskaičiuotumėte skirtumą tarp dviejų nurodytų datų, ty 24th2021 m. spalio mėn. ir 9 dth2021 m. spalio mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su DATE_DIFF() funkcija, kad gautume skirtumą tarp datų 2021-10-24 ir 2021-10-09. Number_of_Days yra slapyvardis, skirtas išsaugoti skirtumą pagal dienų skaičių.

Gausite tokią išvestį:

Dienų_skaičius
penkiolika

Tarp datų 2021-10-24 ir 2021-10-09 yra 15 dienų skirtumas.

2 pavyzdys:

Parašykite užklausą, kad apskaičiuotumėte skirtumą tarp dviejų nurodytų datų, ty 5th2018 m. gegužės mėn. ir 5 dth2008 m. gegužės mėn.

Užklausa:

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

Čia mes parašėme SELECT užklausą su DATE_DIFF () funkcija, kad gautume skirtumą tarp datų 2018-05-05 ir 2008-05-05. Number_of_Days yra slapyvardis, skirtas išsaugoti skirtumą pagal dienų skaičių.

Gausite tokią išvestį:

Dienų_skaičius
3652

Tarp datų 2018-05-05 ir 2008-05-05 yra 3652 dienų skirtumas.

9. DATE_FORMAT()

Naudodami SQL funkciją DATE_FORMAT () galime rodyti su data ar laiku susijusią informaciją gerai suformatuotu būdu.

Funkcijos DATE_FORMAT naudojimo lentelės stulpelyje sintaksė:

 SELECT DATE_FORMAT (ColumnName, Expression) FROM Table Name; 

ARBA

Konkrečios datos formatavimo sintaksė:

 SELECT DATE_FORMAT (Date, Expression); 

1 pavyzdys:

Parašykite užklausą, kad nurodyta data būtų rodoma tinkamai suformatuota, t. y. 24th2021 m. spalio mėn.

Užklausa:

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

Čia parašėme SELECT užklausą su DATE_FORMAT () funkcija, kad gautume datą 2021-10-24 formatuota forma. Formatted_Date yra slapyvardis, skirtas išsaugoti suformatuotą datą.

css – paryškintas

Gausite tokią išvestį:

Formatted_Data
2021 m. spalio 24 d., sekmadienis

2021 m. spalio 24 d., sekmadienis, yra suformatuota 2021-10-24 data.

2 pavyzdys:

Parašykite užklausą, kad nurodyta data ir laikas būtų rodomi gerai suformatuotu būdu, t. y. 24th2021 m. spalio mėn. 22:30:17.

Užklausa:

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

Čia parašėme SELECT užklausą su DATE_FORMAT () funkcija, kad gautume datą ir laiką „2021-10-24 22:30:17“ formatuota forma. Formatted_DateTime yra slapyvardis, skirtas išsaugoti suformatuotą datą ir laiką.

Gausite tokią išvestį:

Formatted_DateTime
2021 m. spalio 24 d., sekmadienis, 22:30:17

2021 m. spalio 24 d., sekmadienis, 22:30:17 yra suformatuota data ir laikas 2021-10-24 22:30:17.

3 pavyzdys:

Parašykite užklausą, kad būtų rodoma visa išsami informacija iš mokinio stulpelio su DateTime_Birth stulpeliu gerai suformatuotu būdu.

Užklausa:

 mysql> SELECT ID, Name, DATE_FORMAT (DateTime_Birth, '%W %D %M %Y %r') AS Formatted_DateTime, City FROM student; 

Čia mes parašėme SELECT užklausą su DATE_FORMAT () funkcija, kad gautume visų įrašų datą ir laiką formatuota forma. Formatted_DateTime yra slapyvardis, skirtas išsaugoti suformatuotą datą ir laiką.

Gausite tokią išvestį:

ID vardas Formatted_DateTime Miestas
1 Mansi Shah 2010 m. sausio 1 d., penktadienis, 18:39:09 Pune
2 Tejalas Vagas 2010 m. kovo 4 d., ketvirtadienis, 05:13:19 Nasik
3 Sejal Kumari 2010 m. gegužės 1 d., šeštadienis, 10:31:07 Mumbajus
4 Sonal Jain 2010 m. rugsėjo 9 d., ketvirtadienis, 17:17:07 Šimla
5 Surili Maheshwari 2010 m. liepos 10 d., šeštadienis, 20:45:18 Laiškas

Visi įrašai rodomi taip, kaip yra iš mokinio lentelės, išskyrus stulpelį DateTime_Birth. Stulpelyje Formatted_DateTime rodoma tik data ir laikas, kaip reikalaujama.