Mysql
 sql >> Database >  >> RDS >> Mysql

Differenze in settimane tra PHP e MySQL

Sei sulla strada giusta per quanto riguarda il funzionamento di MySQL, avendo varie modalità per le funzioni settimanali che possono produrre risultati diversi. http://dev.mysql .com/doc/refman/5.5/en/date-and-time-functions.html#function_week

So che la modalità MySQL, equivalente alla logica della data di PHP, è la modalità 3, che è lo standard ISO per la data della settimana http://en.wikipedia.org/wiki/ISO_week_date

Questo ha settimane che iniziano il lunedì e le settimane numerate da 1 a 53.

Quindi dovresti usare WEEK(date_field, 3) per ottenere valori compatibili con PHP.

Come approccio alternativo, una cosa che ho trovato utile nei casi in cui è necessaria la possibilità di eseguire query in modo flessibile su intervalli di date o aggregazioni diversi (Q1-Q4, H1-H2, ecc.) o in cui potrebbe essere necessario utilizzare settimane diverse da quelle Il supporto di PHP consiste nell'utilizzare una tabella di supporto della data in MySQL (simile a quella che si può usare come tabella delle dimensioni della data in un data warehouse, se si ha familiarità con questo). Può darti una comoda tabella a cui unirti per cercare gli intervalli di date. Qualcosa del genere dovrebbe funzionare:

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