Función SEMANA() en MySQL

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *