例如,我希望在60天之前获取有关今天的确切日期的数据。
我尝试了以下查询,但它选择了从60天前到今天的所有记录。
(bill_date > DATE_SUB(CURDATE() , INTERVAL 60 DAY)
我想要的是60天前的记录。任何人都可以帮助我吗?
答案 0 :(得分:4)
您必须使用=
代替>
!
SELECT * FROM table
WHERE bill_date = DATE_SUB(NOW(), INTERVAL 60 DAY);
今天使用DATE_ADD()
+ 60天(仅限这一天):
SELECT * FROM tableName WHERE bill_date = DATE_ADD(NOW(), INTERVAL 60 DAY);
今天 - 使用DATE_SUB()
的60天(仅限这一天):
SELECT * FROM tableName WHERE bill_date = DATE_SUB(NOW(), INTERVAL 60 DAY);
现在和 - / + 60天之间的所有记录:
SELECT * FROM tableName
WHERE bill_date BETWEEN DATE_SUB(NOW(), INTERVAL 60 DAY) AND NOW();
SELECT * FROM tableName
WHERE bill_date BETWEEN DATE_ADD(NOW(), INTERVAL 60 DAY) AND NOW();
答案 1 :(得分:0)
根据我对你的问题的理解。试试这个查询。请更清楚你的问题。
SELECT * FROM table
WHERE bill_date BETWEEN DATE_SUB(NOW(), INTERVAL 60 DAY) AND NOW();