Función WEEKOFYEAR() en MySQL

La función WEEKOFYEAR() en MySQL se usa para encontrar el número de semana para una fecha determinada. Si la fecha es NULL, la función WEEKOFYEAR devolverá NULL. De lo contrario, devuelve el valor de la semana que oscila entre 1 y 53.

Sintaxis:

WEEKOFYEAR( date)

Parámetro:
este método acepta solo un parámetro.

  • fecha: la fecha o fecha y hora de la que queremos extraer el número de semana.

Devoluciones :
Devuelve el número de semana.

Ejemplo-1:
encontrar el número de la semana actual usando la función WEEKOFYEAR() el 29/09/2020.

SELECT WEEKOFYEAR(NOW()) AS Current_Week;

Producción :

Semana actual
40

Entonces, el número de la semana actual es 40.

Ejemplo-2:
encontrar la semana a partir de una fecha y hora determinada mediante la función WEEKOFYEAR().

SELECT WEEKOFYEAR('2018-04-22 08:09:22') 
AS Week_Number ;

Producción :

Número de la semana
dieciséis

Entonces, el número de semana es 16 en este ejemplo.

Ejemplo-3:
encontrar la semana a partir de una fecha dada usando la función WEEKOFYEAR().

SELECT WEEKOFYEAR('2019-07-25 ') 
AS Week_Number ;

Producción :

Número de la semana 
30

Ejemplo-4:
encontrar el número de semana a partir de una fecha y hora dada usando la función WEEKOFYEAR() cuando la fecha es NULL.

SELECT WEEKOFYEAR(NULL) 
AS Week_Number;

Producción :

Número de la semana
NULO

Ejemplo-4:
En este ejemplo, vamos a encontrar el número de estudiantes matriculados en un curso para cada semana en un año. 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-10-06' ),
    ( 'CS101', 161029, 'Arun Kumar', '2019-10-23' ),
    ( 'CS101', 161031, 'Sanya Jain', '2019-11-08' ),
    ( 'CS101', 161058, 'Riya Shah', '2019-11-20' ),
    ( 'CS101', 162051, 'Amit Sharma', '2019-11-30' ),
    ( 'CS101', 161951, 'Sayan Singh', '2019-12-07' ),
    ( 'CS101', 167051, 'Rishi Jana', '2019-12-15' ),
    ( 'CS101', 168001, 'Aniket Dravid', '2019-12-25' ),
    ( 'CS101', 168051, 'Rita Singh', '2019-12-28' ),
    ( 'CS101', 166051, 'Kalyan Ghandi', '2019-12-29' ) ;

Entonces, nuestra mesa parece.

Nombre del curso Identificación del Estudiante Nombre del estudiante Inscripción_Fecha
CS101 161011 amit singh 2019-10-06
CS101 161029 Arun Kumar 2019-10-23
CS101 161031 sanya jainista 2019-11-08
CS101 161058 Riya Shah 2019-11-20
CS101 162051 Amit Sharma 2019-11-30
CS101 161951 sayan singh 2019-12-07
CS101 167051 rishi jana 2019-12-15
CS101 168001 Aniket Dravid 2019-12-25
CS101 168051 Rita Singh 2019-12-28
CS101 166051 kalyan ghandi 2019-12-39

Ahora, vamos a encontrar el número de estudiantes matriculados en el curso cada semana.

SELECT
WEEKOFYEAR(Enroll_Date) Week_Number,
COUNT(Student_id) Student_Enrolled
FROM
    Course
    GROUP BY WEEKOFYEAR(Enroll_Date)
    ORDER BY WEEKOFYEAR(Enroll_Date);

Producción :

 Número de la semana Estudiante_Matriculado
40 1
43 1
45 1
47 1
48 1
49 1
50 1
52 3

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 *