例如,我想在60天前获取今天确切日期的数据。如何获取今天-30/-60天的日期?
我已经尝试了下面的查询,但它从60天前直到今天选择所有记录。
(bill_date > DATE_SUB(CURDATE() , INTERVAL 60 DAY)
我想要的是60天前的记录。谁能帮我?
例如,我想在60天前获取今天确切日期的数据。如何获取今天-30/-60天的日期?
我已经尝试了下面的查询,但它从60天前直到今天选择所有记录。
(bill_date > DATE_SUB(CURDATE() , INTERVAL 60 DAY)
我想要的是60天前的记录。谁能帮我?
您必须使用=
而不是>
!
SELECT * FROM table
WHERE bill_date = DATE_SUB(NOW(), INTERVAL 60 DAY);
今天+ 60天(仅此一天)使用DATE_ADD()
:
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();
根据我的理解,在这个答案中首先给出的查询将做的伎俩,并得到当天的数据,因为你需要 – Saurabh
是的,完全... –
根据我对你的问题的理解。试试这个查询。并请更清楚你的问题。
SELECT * FROM table
WHERE bill_date BETWEEN DATE_SUB(NOW(), INTERVAL 60 DAY) AND NOW();
我很困惑。你是指60天前还是之前的记录? – KaeL