Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unterschiede in Wochen zwischen PHP und MySQL

In Bezug auf die Funktionsweise von MySQL sind Sie auf dem richtigen Weg, da es verschiedene Modi für wochenbezogene Funktionen gibt, die zu unterschiedlichen Ergebnissen führen können. http://dev.mysql .com/doc/refman/5.5/en/date-and-time-functions.html#function_week

Nach meinem Verständnis ist der MySQL-Modus, der der Datumslogik von PHP entspricht, Modus 3, der ISO-Wochendatumsstandard http://en.wikipedia.org/wiki/ISO_week_date

Diese hat Wochen, die montags beginnen, und Wochen, die von 1 bis 53 nummeriert sind.

Sie müssten also WEEK(date_field, 3) verwenden um PHP-kompatible Werte zu erhalten.

Als alternativen Ansatz habe ich eine Sache als praktisch empfunden, wenn Sie die Möglichkeit benötigen, flexibel unterschiedliche Datumsbereiche oder Aggregationen abzufragen (Q1–Q4, H1–H2 usw.) oder wo Sie möglicherweise andere Wochen als verwenden müssen PHP unterstützt die Verwendung einer Datumshilfstabelle in MySQL (ähnlich wie man sie als Datumsdimensionstabelle in einem Data Warehouse verwenden kann, wenn Sie damit vertraut sind). Es kann Ihnen eine praktische Tabelle bieten, an der Sie sich anschließen können, um Datumsbereiche nachzuschlagen. So etwas sollte funktionieren:

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