如何select一个以X字母开头的东西?
How to select a thing that starts with X letter?
好吧,基本上,我有一个 table 结构如下
ActorID
Name
Surname
Birthdate
Website
(当然里面有一些数据)
我想 select 一个演员,这取决于他们姓氏的开头。
所以我知道 SQL 请求应该是
SELECT ActorID FROM Actors WHERE Name LIKE '{Letter}%'
但是,我想在 python 中用 sqlite3 来做,当我这样写的时候:
cur.execute("""
SELECT name, surname FROM acteurs WHERE name LIKE '?%';
""",firstletter)
actors = cur.fetchall()
我收到语法错误“sqlite3.OperationalError:靠近“;”:语法错误”
我应该如何修改它才能使其正常工作?
?
占位符不能在单引号内。
%
通配符必须连接到 ?
占位符。
此外,您必须将 firstletter
作为元组的成员传递:
cur.execute("SELECT name, surname FROM acteurs WHERE name LIKE ? || '%'", (firstletter,))
好吧,基本上,我有一个 table 结构如下
ActorID | Name | Surname | Birthdate | Website |
---|
(当然里面有一些数据)
我想 select 一个演员,这取决于他们姓氏的开头。 所以我知道 SQL 请求应该是
SELECT ActorID FROM Actors WHERE Name LIKE '{Letter}%'
但是,我想在 python 中用 sqlite3 来做,当我这样写的时候:
cur.execute("""
SELECT name, surname FROM acteurs WHERE name LIKE '?%';
""",firstletter)
actors = cur.fetchall()
我收到语法错误“sqlite3.OperationalError:靠近“;”:语法错误”
我应该如何修改它才能使其正常工作?
?
占位符不能在单引号内。
%
通配符必须连接到 ?
占位符。
此外,您必须将 firstletter
作为元组的成员传递:
cur.execute("SELECT name, surname FROM acteurs WHERE name LIKE ? || '%'", (firstletter,))