我有一张有两个柱子的桌子。
01/01/2015 00:00:00
我写了一条SQL语句,看起来像这样:
select * from cc_open_incident_view WHERE (DATE =(NOW() - INTERVAL 1 MONTH))
如果我执行此语句,它不会检索任何数据,而且我也找不到错误
我只需要查询的最后一个月(过去30天)的数据。
将不胜感激..
根据OP注释进行编辑:
日期被保存为日期,并且可以使用,但是我表中的列日期已存储了未来5年的日期,并且它还显示如下数据:(09.03.2016也就是明天)。有什么办法只显示从开始30 days到结束的日期today吗?
09.03.2016
30 days
today
编辑:根据OP更改查询
select * from cc_open_incident_view WHERE date between (CURDATE() - INTERVAL 1 MONTH ) and CURDATE()
上一个答案:
如果日期另存为,date则使用此日期
date
select * from cc_open_incident_view WHERE date >= (CURDATE() - INTERVAL 1 MONTH )
如果日期另存为字符串,则使用该日期(假设它在dd/mm/yyyy ...
dd/mm/yyyy ...
select * from cc_open_incident_view WHERE STR_TO_DATE(date ,''%d/%m/%y %h:%i:%s')>= (CURDATE() - INTERVAL 1 MONTH )