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

Forskelle i uger mellem PHP og MySQL

Du er på rette vej med hensyn til, hvordan MySQL fungerer, idet du har forskellige tilstande til ugerelaterede funktioner, der kan give forskellige resultater. http://dev.mysql .com/doc/refman/5.5/da/date-and-time-functions.html#function_week

Det er min forståelse, at MySQL-tilstanden, der svarer til PHP's datologik, er tilstand 3, som er ISO-ugedatostandarden http://en.wikipedia.org/wiki/ISO_week_date

Dette har uger, der starter på mandage og uger nummereret 1-53.

Så du skal bruge WEEK(date_field, 3) for at få PHP-kompatible værdier.

Som en alternativ tilgang har jeg fundet en ting praktisk i tilfælde, hvor du har brug for muligheden for fleksibelt at forespørge på forskellige datointervaller eller sammenlægninger (Q1-Q4, H1 - H2 osv.), eller hvor du måske skal bruge andre uger end PHP understøtter er at bruge en datohjælpetabel i MySQL (svarende til hvad man kan bruge som en datodimensionstabel i et datavarehus, hvis du er bekendt med det). Det kan give dig en praktisk tabel at deltage i for at slå datointervaller op. Sådan noget burde virke:

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




  1. Adjacency List Model vs Nested Set Model for MySQL hierarkiske data?

  2. SQL-funktion meget langsom sammenlignet med forespørgsel uden funktionsindpakning

  3. Autonom transaktion i PostgreSQL 9.1

  4. Paginering for at vise maks. værdi og begrænse resten