Determinación del primer día de la semana en MySQL
Cuando se trabaja con rangos de fechas, a menudo es necesario identificar el primer día de la semana para una fecha determinada. En MySQL, existen diferentes enfoques según el día de inicio de la semana deseado.
Comenzar la semana en domingo
Para obtener el primer día de la semana que comienza el Domingo, use la siguiente fórmula:
DATE_ADD(mydate, INTERVAL(1-DAYOFWEEK(mydate)) DAY)
Por ejemplo, para la fecha 2011-01-03, que cae en lunes, el cálculo sería:
DATE_ADD('2011-01-03', INTERVAL(1-DAYOFWEEK('2011-01-03')) DAY)
Resultado: 2011-01-02 (Domingo)
Comenzando la semana el lunes
Si desea comenzar la semana el lunes, utilice esta fórmula:
DATE_ADD(mydate, INTERVAL(-WEEKDAY(mydate)) DAY)
Para la misma fecha (2011-01-03), el cálculo sería ser:
DATE_ADD('2011-01-03', INTERVAL(-WEEKDAY('2011-01-03')) DAY)
Resultado: 2011-01-03 (lunes)
Aplicar a una Consulta
Para incorporar el cálculo del primer día de la semana en su consulta para agrupar por semanas, puede reemplazar:
date(date_entered) as week
con:
DATE_ADD(date_entered, INTERVAL(1-DAYOFWEEK(date_entered)) DAY) as week
Esto garantizará que las semanas comiencen en domingo. Si lo deseas, puedes ajustar la fórmula para comenzar las semanas el lunes.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3