如何获取表格中的行,其中今天的日期介于该行的两个DATE列之间(包括)? 例如,取表格的这两列:
我怎样才能获得4月10日的第一行和第二行,或者25日的第3行(包括,就像我说的那样)?
非常感谢任何帮助。提前谢谢!
答案 0 :(得分:23)
您可以按如下方式添加条件
DATE(NOW()) between date1 and date2
答案 1 :(得分:16)
你会发现很多人在运营商之间使用,但我更喜欢使用简单的AND运算符。
我之所以这样做,是因为虽然运算符之间是包含的,但简单日期(2012-04-10)可以算作午夜,因此不具有包容性。
所以这应该可以正常工作,并且将始终包含日期范围的边界:
SELECT * FROM table WHERE from_date <= '2012-04-10' AND to_date >= '2012-04-10'
答案 2 :(得分:6)
只需使用SQL now()函数来比较日期列,如下所示:
SELECT * from table where now() >= from_date and now() <= to_date
答案 3 :(得分:0)
如果您有日期(而非日期时间)列,请使用CURTIME()或DATE(NOW()),切勿使用CesarC正确编写的NOW()来使用BETWEEN。
SELECT * FROM table WHERE CURTIME() BETWEEN from_date AND to_date