sql >> Database >  >> RDS >> Mysql

Verschillen in weken tussen PHP en MySQL

Je bent op de goede weg met betrekking tot hoe MySQL werkt, met verschillende modi voor weekgerelateerde functies die verschillende resultaten kunnen opleveren. http://dev.mysql .com/doc/refman/5.5/en/date-and-time-functions.html#function_week

Ik heb begrepen dat de MySQL-modus die gelijk is aan de datumlogica van PHP, modus 3 is, de ISO-weekdatumstandaard http://en.wikipedia.org/wiki/ISO_week_date

Dit heeft weken die beginnen op maandag en weken genummerd 1-53.

U zou dus WEEK(date_field, 3) . moeten gebruiken om PHP-compatibele waarden te krijgen.

Als alternatieve benadering heb ik één ding handig gevonden in gevallen waarin u de mogelijkheid nodig hebt om flexibel te zoeken op verschillende datumbereiken of aggregaties (Q1-Q4, H1 - H2, enz.), of waar u mogelijk andere weken moet gebruiken dan PHP ondersteunt is het gebruik van een datumhulptabel in MySQL (vergelijkbaar met wat men kan gebruiken als een datumdimensietabel in een datawarehouse, als u daar bekend mee bent). Het kan u een handige tabel geven om mee te doen om datumbereiken op te zoeken. Iets als dit zou moeten werken:

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




  1. SQL Return 1,0 in nieuwe variabele op basis van case when-instructie die verwijst naar meerdere andere variabelen

  2. Hoe kan ik gegevens uit een versleutelde database lezen met SQLiteAssetHelper?

  3. Hoe u uw SQL-server kunt versnellen met behulp van Database Performance Monitoring

  4. Dupliceer, kopieer of maak een back-up van tabellen in MySQL, MariaDB, Oracle, PostgreSQL, DB2 en SQLite met Create Table As SQL