ANNÉESEMAINE () dans MySQL est utilisé pour trouver l'année et la semaine pour une date donnée. Si la date est NULL, la fonction YEARWEEK() renverra NULL. Sinon, il renvoie la valeur de l'année comprise entre 1 000 et 9 999 et la valeur de la semaine comprise entre 0 et 53.
Syntaxe :
YEARWEEK(date, mode)>
Paramètre : Cette méthode accepte deux paramètres comme mentionné ci-dessus et décrit ci-dessous :
monflixer
- date : La date ou datetime à partir de laquelle nous voulons extraire l’année et la semaine. mode : Il précise le jour où la semaine commence. Le tableau suivant décrit le fonctionnement de l'argument mode.
| Mode | Premier jour de la semaine | Gamme | La semaine 1 est la première semaine… |
|---|---|---|---|
| 0 | Dimanche | 0-53 | avec un dimanche cette année |
| 1 | Lundi | 0-53 | avec 4 jours ou plus cette année |
| 2 | Dimanche | 1-53 | avec un dimanche cette année |
| 3 | Lundi | 1-53 | avec 4 jours ou plus cette année |
| 4 | Dimanche | 0-53 | avec 4 jours ou plus cette année |
| 5 | Lundi | 0-53 | avec un lundi cette année |
| 6 | Dimanche | 1-53 | avec 4 jours ou plus cette année |
| 7 | Lundi | 1-53 | avec un lundi cette année |
Retour : Il renvoie la valeur de l'année et de la semaine ensemble.
Exemple 1 : Recherche de l'année et de la semaine en cours à l'aide de la fonction Year() le 28/09/2020.
SELECT YEARWEEK(NOW()) AS Current_YearWeek;>
Sortir :
+------------------+ | Current_YearWeek | +------------------+ | 202039 | +------------------+ 1 row in set (0.00 sec)>
Ainsi, l’année en cours est 2020 et le numéro de semaine est 39.
Exemple-2 : Recherche de l'année et de la semaine à partir d'une date/heure donnée à l'aide de la fonction YEARWEEK().
syntaxe git pull
SELECT YEARWEEK('2018-04-22 08:09:22') AS Year_Week ;> Sortir :
+-----------+ | Year_Week | +-----------+ | 201816 | +-----------+>
Nous sommes donc en 2018 et le numéro de semaine est 16 dans cet exemple.
Exemple-3 : Recherche de l'année et de la semaine à partir d'une date/heure donnée à l'aide de la fonction YEARWEEK() lorsque la date est NULL.
SELECT YEARWEEK(NULL) AS Year_Week ;>
Sortir :
+-----------+ | Year_Week | +-----------+ | NULL | +-----------+>
Exemple-4 : Dans cet exemple, nous allons trouver le nombre d'étudiants inscrits à un cours chaque semaine d'un an. Pour démontrer, créez une table nommée.
Cours :
chaîne.format chaîne Java
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) );>
Insérons maintenant quelques données dans la table Product :
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' ) ;>
Ainsi, notre tableau ressemble à :
mysql>sélectionnez * dans Cours ; +-------------+------------+---------------+------ -------+ | Nom_du cours | ID_étudiant | Nom_étudiant | Date_inscription | +-------------+------------+---------------+------ -------+ | 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 | 161951 | Sayan Singh | 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 lignes dans l'ensemble (0,00 sec)>
Maintenant, nous allons trouver le nombre d’étudiants inscrits au cours pour chaque semaine et année.
SELECT YEARWEEK(Enroll_Date) YearandWeek, COUNT(Student_id) Student_Enrolled FROM Course GROUP BY YEARWEEK(Enroll_Date) ORDER BY YEARWEEK(Enroll_Date);>
Sortir :
+-------------+------------------+ | 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).>