【发布时间】:2014-08-27 19:20:53
【问题描述】:
WEEK() 函数是否适用于类型为 DATE 的列,还是需要类型为 DATETIME 的列?
各种 SO 搜索表明这应该可行,但此语句提供了一个空结果:
SELECT * FROM tbl_benutzer WHERE WEEK(dob,1) = WEEK(CURDATE(),1) ORDER BY id DESC
例如,当今天的日期为 2014-07-07 时,无法识别 dob 为 1972-07-09 的记录集。
非常感谢您的帮助!
【问题讨论】:
-
你想要什么?你有什么错误吗?
-
DATE应该可以正常工作。 -
我用这个 SQL 语句得到了一个空的结果。例如,当今天的日期为 2014-07-07 时,无法识别 1972-07-09 的记录
-
SELECT WEEK('1972-07-09', 1) as week_dob, WEEK('2014-07-07', 1) as week_today;的结果是27 | 28,看这个[fiddle] (sqlfiddle.com/#!2/1f05b/1)。这些值不相等。