返回MySQL中两个日期之间的行

时间:2011-03-22 15:39:31

标签: mysql

我想要在过去1天内输入的行。

我有一个存储YYYY-MM-DD的日期列,我允许用户以这种格式发送他们想要查看的日期yyymmdd如何使用此数据将其限制为前一天只有?

我认为它与BETWEEN关键字有关,但我无法弄明白。

4 个答案:

答案 0 :(得分:7)

SELECT * from TABLE_NAME WHERE ROW_DATE BETWEEN '2011-03-20' AND '2011-03-21'

答案 1 :(得分:7)

此查询:

SELECT  *
FROM    mytable
WHERE   mydate >= STR_TO_DATE('110321', '%y%m%d') - INTERVAL 1 DAY
        AND mydate < STR_TO_DATE('110321', '%y%m%d')

将返回Mar 20, 2011

的所有记录

答案 2 :(得分:1)

从MySQL手册(here):

SELECT something FROM tbl_name WHERE DATE_SUB(CURDATE(), INTERVAL 1 DAY) <= date_col;

答案 3 :(得分:1)

SELECT * FROM YourTable WHERE date_column = DATE_ADD(CURDATE(), INTERVAL -1 DAY) 

这将返回今天和昨天的所有行。