You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用BETWEEN运算符的SQL日期查询报错,求原因排查及解决方法

问题分析与解决办法

嘿,我一眼就发现你SQL语句里的问题啦!

你报错的核心原因是**BETWEEN子句缺少了要判断的日期字段**——数据库根本不知道你要筛选哪个字段落在指定的日期范围内,所以才会抛出语法错误。

错误语句的问题点

你的原语句:

SELECT * FROM checkout WHERE id = 10 AND (BETWEEN '2017-12-10' AND '2017-12-30')

这里的(BETWEEN ...)部分没有指定字段,属于语法不完整,数据库无法识别你的筛选逻辑。

修正后的正确语句

假设你的表中存储日期的字段名为checkout_date(你需要替换成自己表中实际的日期字段名,比如create_timetransaction_date等),修正后的语句应该是:

SELECT * FROM checkout WHERE id = 10 AND checkout_date BETWEEN '2017-12-10' AND '2017-12-30';

额外小提示

  • BETWEEN是包含边界值的,也就是说上面的语句会包含2017-12-102017-12-30这两个日期的记录
  • 如果你的日期字段包含时间(比如2017-12-30 23:59:59),用BETWEEN可能会漏掉当天晚些时候的记录,这种情况可以改用checkout_date >= '2017-12-10' AND checkout_date < '2017-12-31'来更精准筛选

内容的提问来源于stack exchange,提问作者json

火山引擎 最新活动