logo

YEARWEEK() funkcija MySQL

METŲ SAVAITĖ () funkcija MySQL naudojama tam tikros datos metams ir savaitei rasti. Jei data yra NULL, funkcija YEARWEEK() grąžins NULL. Kitu atveju jis grąžina metų vertę, kuri svyruoja nuo 1000 iki 9999, ir savaitės vertę, kuri svyruoja nuo 0 iki 53.

watchcartoononline.io alternatyvos

Sintaksė:



 YEARWEEK(date, mode)>

Parametras : Šis metodas priima du parametrus, kaip minėta pirmiau ir aprašyta toliau:

    data : data arba data, iš kurios norime išgauti metus ir savaitę. režimas : nurodo, kurią dieną prasideda savaitė. Šioje lentelėje aprašoma, kaip veikia režimo argumentas.
Režimas Pirmoji savaitės diena diapazonas 1 savaitė yra pirmoji savaitė…
0 sekmadienis 0-53 su sekmadieniu šiais metais
1 Pirmadienis 0-53 su 4 ar daugiau dienų šiais metais
2 sekmadienis 1-53 su sekmadieniu šiais metais
3 Pirmadienis 1-53 su 4 ar daugiau dienų šiais metais
4 sekmadienis 0-53 su 4 ar daugiau dienų šiais metais
5 Pirmadienis 0-53 su pirmadieniu šiais metais
6 sekmadienis 1-53 su 4 ar daugiau dienų šiais metais
7 Pirmadienis 1-53 su pirmadieniu šiais metais

Grąžinimai: Tai grąžina metų ir savaitės vertę kartu.

1 pavyzdys: Dabartinių metų ir savaitės radimas naudojant Metų() funkciją 2020-09-28.



 SELECT YEARWEEK(NOW()) AS Current_YearWeek;>

Išvestis:

 +------------------+ | Current_YearWeek | +------------------+ | 202039 | +------------------+ 1 row in set (0.00 sec)>

Taigi, einamieji metai yra 2020, o savaitės skaičius yra 39.

2 pavyzdys: Metų ir savaitės paieška nuo nurodytos datos ir laiko naudojant YEARWEEK() funkciją.



 SELECT YEARWEEK('2018-04-22 08:09:22') AS Year_Week ;>

Išvestis:

 +-----------+ | Year_Week | +-----------+ | 201816 | +-----------+>

Taigi, šiame pavyzdyje metai yra 2018, o savaitės numeris yra 16.

3 pavyzdys: Metų ir savaitės radimas pagal nurodytą datą ir laiką Naudojant YEARWEEK() funkciją, kai data yra NULL.

 SELECT YEARWEEK(NULL) AS Year_Week ;>

Išvestis:

 +-----------+ | Year_Week | +-----------+ | NULL | +-----------+>

4 pavyzdys: Šiame pavyzdyje mes surasime studentų, įtrauktų į kursą, skaičių kiekvienai savaitei per metus. Norėdami parodyti, sukurkite lentelę pavadinimu.

Kursas:

 CREATE TABLE Course( Course_name VARCHAR(100) NOT NULL, Student_id INT NOT NULL, Student_name VARCHAR(100) NOT NULL, Enroll_Date Date NOT NULL, PRIMARY KEY(Student_id) );>

Dabar į produktų lentelę įterpiame kai kuriuos duomenis:

 INSERT INTO Course(Course_Name, Student_id, Student_name, Enroll_Date) VALUES ( 'CS101', 161011, 'Amit Singh', '2019-11-26' ), ( 'CS101', 161029, 'Arun Kumar', '2019-11-30' ), ( 'CS101', 161031, 'Sanya Jain', '2019-12-08' ), ( 'CS101', 161058, 'Riya Shah', '2019-12-15' ), ( 'CS101', 162051, 'Amit Sharma', '2019-12-18' ), ( 'CS101', 161951, 'Sayan Singh', '2019-12-26' ), ( 'CS101', 167051, 'Rishi Jana', '2020-01-02' ), ( 'CS101', 168001, 'Aniket Dravid', '2020-01-10' ), ( 'CS101', 168051, 'Rita Singh', '2020-01-13' ), ( 'CS101', 166051, 'Kalyan Ghandi', '2020-01-26' ) ;>

Taigi, mūsų lentelė atrodo taip:

 mysql>pasirinkite * iš Kurso; +-------------+-------------+----------------+------- -------+ | Kurso_pavadinimas | Studento_id | Mokinio_vardas | Registracijos_data | +-------------+-------------+----------------+------- -------+ | CS101 | 161011 | Amit Singh | 2019-11-26 | | CS101 | 161029 | Arūnas Kumaras | 2019-11-30 | | CS101 | 161031 | Sanya Jain | 2019-12-08 | | CS101 | 161058 | Riya Shah | 2019-12-15 | | CS101 | 161951 | Sayanas Singhas | 2019-12-26 | | CS101 | 162051 | Amit Sharma | 2019-12-18 | | CS101 | 166051 | Kalyan Ghandi | 2020-01-26 | | CS101 | 167051 | Rishi Jana | 2020-01-02 | | CS101 | 168001 | Aniket Dravid | 2020-01-10 | | CS101 | 168051 | Rita Singh | 2020-01-13 | +-------------+-------------+----------------+------- -------+ 10 eilučių rinkinyje (0,00 sek.)>

Dabar mes surasime studentų, įtrauktų į kursą, skaičių kiekvienai savaitei ir metams.

 SELECT YEARWEEK(Enroll_Date) YearandWeek, COUNT(Student_id) Student_Enrolled FROM Course GROUP BY YEARWEEK(Enroll_Date) ORDER BY YEARWEEK(Enroll_Date);>

Išvestis:

 +-------------+------------------+ | YearandWeek | Student_Enrolled | +-------------+------------------+ | 201947 | 2 | | 201949 | 1 | | 201950 | 2 | | 201951 | 1 | | 201952 | 1 | | 202001 | 1 | | 202002 | 1 | | 202004 | 1 | +-------------+------------------+ 8 rows in set (0.00 sec).>