【问题标题】:Select between dates issues在日期问题之间选择
【发布时间】:2013-03-07 14:58:15
【问题描述】:

我有这个 SQL:

$sql="SELECT * 
FROM   table 
WHERE  expiresdate >= Date(Now()) 
       AND expiresdate <= Date_add(Date(Now()), INTERVAL 10 day) 
ORDER  BY expiresdate ASC";

它应该基本上显示数据库中将在 10 天内过期的所有行,但是,假设过期日期是 2013-03-06 - 此行不会在过期日期后的任何一天显示

有人有什么想法吗?

【问题讨论】:

标签: mysql sql date


【解决方案1】:

这应该是你需要的:

SELECT
    * 
FROM
    `table`
WHERE
    expiresdate <= CURDATE() + INTERVAL 10 DAY
ORDER BY
    expiresdate ASC

【讨论】:

  • 有人可以解释一下,为什么有问题的查询不起作用。我了解上述查询的工作原理。
  • 你的表名真的是table吗?如果是这样,您需要将其转义,因为它是保留字。
  • 不,表名不是表——我只是以此为例。我将测试此代码并让您知道我的进展情况 - 感谢您的回复
  • 顺便问一下,expiresdateDATE 字段吗?
  • 是的,它是一个 DATE 字段 - 不应该是吗?我仍然遇到同样的问题:(
猜你喜欢
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-20
  • 2015-07-16
  • 2011-11-03
相关资源
最近更新 更多