SQLite BETWEEN 日期错误
Posted
技术标签:
【中文标题】SQLite BETWEEN 日期错误【英文标题】:SQLite BETWEEN dates error 【发布时间】:2018-07-21 08:38:24 【问题描述】:我有以下代码:
import sqlite3
conn = sqlite3.connect('wereldzaak.sqlite')
curs = conn.cursor()
x = curs.execute('''SELECT SUM(price)
FROM purchase, product
WHERE dt_iso BETWEEN ‘2015-01-01' AND ‘2015-12-31’ ''')
但是当我运行它时,我得到以下错误:
WHERE dt_iso BETWEEN ‘2015-01-01' AND ‘2015-12-31’ ''')
sqlite3.OperationalError: unrecognized token: "' AND ‘2015-12-31’ "
我在网上查了一下,还是不知道我的代码有什么问题
【问题讨论】:
这些不是您在日期字符串周围放置的有效撇号。 SQLite 中的日期文字不带反引号,它们带单引号。所以使用BETWEEN '2015-01-01' AND '2015-12-31'
。
@TimBiegeleisen 这个角色实际上是一个反引号(或称为反引号)吗?在我的编辑器中,反引号看起来非常不同
两个表也需要使用JOIN
来连接
@roganjosh 好吧,它不是单引号或双引号,所以我认为它不会起作用。
【参考方案1】:
你有两个问题
您使用了三重单引号而不是三重双引号(将 ''' 替换为 """)。python 不支持三重单引号 单引号不是普通的单引号(使用')。您应该将您的编辑器修复为 Python 兼容模式。【讨论】:
以上是关于SQLite BETWEEN 日期错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 Sqlite flutter BETWEEN 查询返回最近 2 天的记录