私は使用しています
WHERE WEEK(curdate,3)-WEEK(date)=1
最後の営業週 (月曜日から日曜日) に記録されたテーブルのすべての行を取得します。一年中うまくいきますが、1月にはしばらくの間0を返すので、取らなければなりません
WHERE WEEK(curdate,3)+53-WEEK(date)
その場合。OR
今年の情報と昨年の情報が両方あると両方必要になるので使えません。私はすでに試したCOALESCE
方法IFNULL
:
WHERE COALESCE(
(WEEK(curdate(),3)-WEEK(date,3) = 1),
(WEEK(curdate(),3)+53-WEEK(date,3) = 1
)
一年中うまく機能しますが、IFNULL
が true の場合はうまくいきません。この場合の効果的な処理についてアドバイスをお願いします。