sql >> データベース >  >> RDS >> Mysql

PHP date('W')vs MySQL YEARWEEK(now())

    mysql YEARWEEK呼び出しでモード3を指定する必要があります:

    SELECT YEARWEEK(now(),3); 
    

    PHPのdate() プレースホルダーW ISO8601仕様 に従って週番号を返します 。つまり、週は月曜日(日曜日ではなく)に始まり、その年の最初の週は1番(0ではない)であり、その週は新年の半日以上の最初の週です(したがって、1月である必要があります)。木曜日までに)。 MySQLのドキュメントによるとWEEK関数 、そのオプションの組み合わせはモード3です。

    また、重要であるため、Allesのメモを受け入れられた回答に取り込むには:プレースホルダーY およびW 一緒に行かないでください。 ISOの週番号と一致する年が必要な場合は、oを使用する必要があります Yの代わりに 。たとえば、2014年12月29日月曜日から始まる週を考えてみましょう。

    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. Cosd()がPostgreSQLでどのように機能するか

    2. 日付でグループ化し、レコードが見つからない場合でも行を返します

    3. Djangoで、データベースから100個のランダムレコードを選択するにはどうすればよいですか?

    4. 結合されたテーブルで特定の条件を満たさないすべてのレコードを選択します