Determinando o primeiro dia da semana no MySQL
Ao trabalhar com intervalos de datas, muitas vezes é necessário identificar o primeiro dia da semana para uma determinada data. No MySQL, existem diferentes abordagens dependendo do dia de início da semana desejado.
Iniciando a semana no domingo
Para obter o primeiro dia da semana começando em Domingo, use a seguinte fórmula:
DATE_ADD(mydate, INTERVAL(1-DAYOFWEEK(mydate)) DAY)
Por exemplo, para o data 03/01/2011, que cai em uma segunda-feira, o cálculo seria:
DATE_ADD('2011-01-03', INTERVAL(1-DAYOFWEEK('2011-01-03')) DAY)
Resultado: 02/01/2011 (Domingo)
Começando a semana na segunda-feira
Se você quiser começar a semana na segunda-feira, use esta fórmula:
DATE_ADD(mydate, INTERVAL(-WEEKDAY(mydate)) DAY)
Para a mesma data (03/01/2011), o cálculo seria ser:
DATE_ADD('2011-01-03', INTERVAL(-WEEKDAY('2011-01-03')) DAY)
Resultado: 2011-01-03 (segunda-feira)
Aplicando a uma consulta
Para incorporar o cálculo do primeiro dia da semana em sua consulta para agrupar por semanas, você pode substituir:
date(date_entered) as week
com:
DATE_ADD(date_entered, INTERVAL(1-DAYOFWEEK(date_entered)) DAY) as week
Isso garantirá que as semanas comecem no domingo. Se desejar, você pode ajustar a fórmula para começar as semanas na segunda-feira.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3