1
MySQL的
獲取記錄我使用在最後一個工作周
WHERE WEEK(curdate,3)-WEEK(date)=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
是真的不管理的情況。 請給我有關處理這種情況的建議。