【发布时间】:2016-03-08 13:24:20
【问题描述】:
我有一个包含两列的表格。
- 第一列是存储为的日期:(示例):
01/01/2015 00:00:00 - 秒列是一个数字:如(示例):500
我写了一个如下所示的 SQL 语句:
select *
from cc_open_incident_view
WHERE (DATE =(NOW() - INTERVAL 1 MONTH))
如果我执行此语句,它不会检索任何数据并且我找不到错误
我只想要上个月的数据作为查询的结果(过去 30 天)。
不胜感激。
按照 OP cmets 进行编辑:
日期保存为日期并且它正在工作,但我表中的日期列存储了未来 5 年的日期,它显示的数据也如下:09.03.2016(即明天)。有没有办法只显示从30 days 到today 的日期?
【问题讨论】:
-
将日期存储为
dates 而不是字符串,您将解决此问题。 . .和别的 。 . .问题。 -
两件事。 1)确保您传入的日期实际上是一个日期,如果需要,您可以在 SQL 中转换为日期。 2) Now() 除了返回日期之外还返回一个时间,并且您正在比较整个日期时间是否相等。这意味着时间也必须匹配。
-
感谢您的回复。忘了时间也会比较。 =)