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

PHP-dato('W') vs MySQL YEARWEEK(nu())

Du skal angive tilstand 3 på mysql YEARWEEK opkaldet:

SELECT YEARWEEK(now(),3); 

PHP date() pladsholder W returnerer ugenummeret i henhold til ISO 8601-specifikationen . Det betyder, at uger starter på mandag (ikke søndag), den første uge i året er nummer 1 (ikke 0), og den uge er den første, der med mere end halvdelen af ​​sine dage i det nye år (så det skal være januar) senest torsdag). Ifølge dokumentationen til MySQL UGE-funktion , denne kombination af muligheder er tilstand 3.

Også for at trække Alles' notat ind i det accepterede svar, fordi det er vigtigt:pladsholderne Y og W gå ikke sammen. Hvis du vil have året, der følger med ISO-ugenummeret, skal du bruge o i stedet for Y . Overvej f.eks. ugen, der starter mandag den 29. december 2014:

date('YW', mktime(0,0,0,12,29,2014));  #=> 201401 : 1st week of 2014??
date('oW', mktime(0,0,0,12,29,2014));  #=> 201501 : better


  1. Sådan udpakkes en understreng i MySQL

  2. Laravel rækkefølge efter mange forhold

  3. Objekt kan ikke konverteres til en streng i MySQLi PHP

  4. Sådan ændres værdier for Rediger Top X og vælg Top X Rows i SQL Server Management Studio(SSMS) - SQL Server / TSQL Tutorial Del 20