【发布时间】:2013-03-01 09:42:56
【问题描述】:
我正在使用
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 为真时无法处理。
请给我关于如何有效处理此案的建议。
【问题讨论】:
标签: mysql week-number