我正在尝试在 python 中运行以下 SQL 查询,我在下面设置了一个模拟数据库。
import sqlite3
from datetime import datetime
conn = sqlite3.connect('database.db')
conn.execute("""CREATE TABLE IF NOT EXISTS books (
title TEXT,
author TEXT,
pages INTEGER,
published INTEGER
)""")
values = ('Deep Learning',
'Ian Goodfellow et al.',
775,
datetime(2016, 11, 18).timestamp())
conn.execute("""INSERT INTO books VALUES (?, ?, ?, ?)""", values)
r = conn.execute("SELECT LEFT(title,2) FROM books")
print(r.fetchall())
但是我收到错误:
File "C:/Users/Daniel/Pictures/AllanGray/Revolut/stack.py", line 18, in <module>
r = conn.execute("SELECT LEFT(title,2) FROM books")
sqlite3.OperationalError: near "(": syntax error
如果我只是运行一个正常的基本选择语句,它就可以工作。 LEFT 函数出了什么问题?
最佳答案
SQLite 中没有 LEFT()
函数。
使用substr()
:
SELECT SUBSTR(title, 1, 2) FROM books
关于python - LEFT 函数不适用于 python 中的 sqlite3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59249923/