【问题标题】:Select date between current date and one week InnoDB在当前日期和一周之间选择日期 InnoDB
【发布时间】:2013-12-25 05:16:51
【问题描述】:

我有一个包含一列的表格(到期日期)。我想选择过期在今天和下周之间的所有行。我正在使用 MySQL 和 InnoDB 类型。

我尝试这样的事情:

SELECT name, expiration 
FROM exp 
WHERE (expiration BETWEEN(CURRENT_DATE, INTERVAL 1 WEEK));

但我的语法不好。有错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') LIMIT 0, 30' at line 3

【问题讨论】:

  • 您的查询与错误信息不同?
  • 你不能只写语法

标签: mysql date select innodb between


【解决方案1】:

这应该是你想要的语法:

SELECT name, expiration FROM table WHERE expiration
  BETWEEN
    CURRENT_DATE
  AND
    ADDDATE(CURRENT_DATE, INTERVAL 1 WEEK)

(您需要将一周添加到当前日期,您不能只指定独立的间隔/作为 BETWEEN 的参数)

【讨论】:

  • 我试过了,还是有问题:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') LIMIT 0, 30' at line 6
  • @Karol:编辑了答案,BETWEEN 的语法也错了。
【解决方案2】:

试试这个:

SELECT *
FROM exp
WHERE expiration  BETWEEN 
         current_date 
        AND 
         current_date + interval 7 day

演示:--> http://www.sqlfiddle.com/#!2/8598a/2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多