我有一个包含两列的表格。
- 第一列是日期存储为:(示例):
01/01/2015 00:00:00
- 秒列是一个数字:如(示例):500
我写了一个如下所示的 SQL 语句:
select *
from cc_open_incident_view
WHERE (DATE =(NOW() - INTERVAL 1 MONTH))
如果我执行这条语句,它不会检索任何数据,我也找不到错误
我只需要上个月的数据作为查询结果(最近 30 天)。
非常感谢任何帮助..
根据 OP 评论编辑:
日期被保存为日期并且它正在工作,但我表中的日期列存储了 future 5 年的日期,它显示的数据如下:09.03.2016
(即明天)也。有没有办法只显示从 30 天
到 今天
的日期?
最佳答案
编辑:根据 OP 更改查询
select *
from cc_open_incident_view
WHERE date between (CURDATE() - INTERVAL 1 MONTH ) and CURDATE()
上一个答案:
如果日期保存为date
则使用这个
select *
from cc_open_incident_view
WHERE date >= (CURDATE() - INTERVAL 1 MONTH )
如果日期保存为字符串,则使用它(假设它在 dd/mm/yyyy ...
select *
from cc_open_incident_view
WHERE STR_TO_DATE(date ,''%d/%m/%y %h:%i:%s')>= (CURDATE() - INTERVAL 1 MONTH )
关于Mysql -- 最近 30 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35868634/