La función SEMANA() en MySQL se usa para encontrar el número de semana para una fecha determinada. Si la fecha es NULL, la función WEEK() devolverá NULL. De lo contrario, devuelve el valor de la semana que oscila entre 0 y 53.
Sintaxis:
WEEK(date, mode)
Parámetros: este método acepta dos parámetros como se mencionó anteriormente en la sintaxis y se describe a continuación:
- date –
La fecha o fechahora de la que queremos extraer la semana. - modo:
especifica en qué día comienza la semana. La siguiente tabla describe cómo funciona el argumento de modo.
Devoluciones: Devuelve el valor del número de semana.
MODO | PRIMER DIA DE LA SEMANA | RANGO | LA SEMANA 1 ES LA PRIMERA SEMANA… |
---|---|---|---|
0 | Domingo | 0-53 | con un domingo en este año |
1 | Lunes | 0-53 | con 4 o más días este año |
2 | Domingo | 1-53 | con un domingo en este año |
3 | Lunes | 1-53 | con 4 o más días este año |
4 | Domingo | 0-53 | con 4 o más días este año |
5 | Lunes | 0-53 | con un lunes en este año |
6 | Domingo | 1-53 | con 4 o más días este año |
7 | Lunes | 1-53 | con un lunes en este año |
Ejemplo-1:
encontrar el número de la semana actual usando la función WEEK() el 15/10/2020.
SELECT WEEK(NOW()) AS Current_Week;
Producción :
Semana actual |
---|
41 |
Entonces, el número de la semana actual es 41.
Ejemplo-2:
encontrar la semana a partir de la fecha y hora dada usando la función WEEK().
SELECT WEEK('2010-05-20 08:09:22') AS Week;
Producción :
Semana |
---|
20 |
Entonces, el número de semana es 20 en este ejemplo.
Ejemplo-3:
encontrar la semana a partir de una fecha y hora dada usando la función WEEK() cuando la fecha es NULL.
SELECT WEEK(NULL) AS Week;
Producción :
Semana |
---|
NULO |
Ejemplo-4:
En este ejemplo, vamos a encontrar el número de estudiantes inscritos en un curso para cada semana. Para demostrar, cree una tabla llamada Curso.
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) );
Ahora insertando algunos datos en la tabla del curso:
INSERT INTO Course(Course_Name, Student_id, Student_name, Enroll_Date) VALUES ('CS101', 161011, 'Amit Singh', '2019-1-26'), ('CS101', 161029, 'Arun Kumar', '2019-5-30'), ('CS101', 161031, 'Sanya Jain', '2019-6-08'), ('CS101', 161058, 'Riya Shah', '2019-10-15'), ('CS101', 162051, 'Amit Sharma', '2019-10-18'), ('CS101', 161951, 'Sayan Singh', '2019-10-30'), ('CS101', 167051, 'Rishi Jana', '2019-11-02'), ('CS101', 168001, 'Aniket Dravid', '2019-11-10'), ('CS101', 168051, 'Rita Singh', '2019-11-13'), ('CS101', 166051, 'Kalyan Ghandi', '2019-12-26');
Tabla – Curso
NOMBRE DEL CURSO | IDENTIFICACIÓN DEL ESTUDIANTE | NOMBRE DEL ESTUDIANTE | INSCRIPCIÓN_FECHA |
---|---|---|---|
CS101 | 161011 | amit singh | 2019-1-26 |
CS101 | 161029 | Arun Kumar | 2019-5-30 |
CS101 | 161031 | sanya jainista | 2019-6-08 |
CS101 | 161058 | Riya Shah | 2019-10-15 |
CS101 | 162051 | Amit Sharma | 2019-10-18 |
CS101 | 161951 | sayan singh | 2019-10-30 |
CS101 | 167051 | rishi jana | 2019-11-02 |
CS101 | 168001 | Aniket Dravid | 2019-11-10 |
CS101 | 168051 | Rita Singh | 2019-11-13 |
CS101 | 166051 | kalyan ghandi | 2019-12-26 |
Ahora, vamos a encontrar el número de estudiantes inscritos en el curso para cada semana.
SELECT WEEK(Enroll_Date) WeekNumber, COUNT(Student_id) Student_Enrolled FROM Course GROUP BY WEEK(Enroll_Date) ORDER BY WEEK(Enroll_Date);
Producción :
NÚMERO DE LA SEMANA | ESTUDIANTE_INSCRITO |
---|---|
3 | 1 |
21 | 1 |
22 | 1 |
41 | 2 |
43 | 2 |
45 | 2 |
51 | 1 |
Publicación traducida automáticamente
Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA