Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Diferenças em semanas entre PHP e MySQL


Você está no caminho certo em relação a como o MySQL funciona, tendo vários modos para funções relacionadas à semana que podem produzir resultados diferentes. http://dev.mysql .com/doc/refman/5.5/en/date-and-time-functions.html#function_week

É meu entendimento que o modo MySQL que é equivalente à lógica de data do PHP é o modo 3, que é o padrão de data da semana ISO http://en.wikipedia.org/wiki/ISO_week_date

Isso tem semanas começando às segundas-feiras e semanas numeradas de 1 a 53.

Então você precisaria usar WEEK(date_field, 3) para obter valores compatíveis com PHP.

Como uma abordagem alternativa, achei útil nos casos em que você precisa da capacidade de consultar de forma flexível em diferentes intervalos de datas ou agregações (Q1-Q4, H1 - H2 etc.) O PHP suporta é usar uma tabela auxiliar de data no MySQL (semelhante ao que se pode usar como uma tabela de dimensão de data em um data warehouse, se você estiver familiarizado com isso). Ele pode fornecer uma tabela conveniente para unir a fim de pesquisar intervalos de datas. Algo assim deve funcionar:

http://databobjr.blogspot.com /2012/06/create-date-dimension-table-in-mysql.html