我是 Sqlite 的新手。下面的代码行 c是一个光标:c.execute(
"SELECT rowid,* from statements "
"WHERE [row1] = (?*) AND [row2] = (?) AND [row3] = 'text3'",
(text1,text2,)
)
items = c.fetchall()在上面我试图找到 row1 中的文本是以 text1 开头的任何行,例如我想选择第 1 行是“牛”、“马”或温度计”的行,其中 text1="the"和第 2 行是“大象”,其中 text2="elephant"和第 3 行是“text3”我使用 (?) 运算符,因为这是将使用不同参数调用的函数的一部分。
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
您必须使用运算符LIKE
代替=
第一个条件,并且要使其起作用,您必须将占位符?
与通配符连接起来'%'
:
c.execute("SELECT rowid,* from statements WHERE [row1] LIKE ? || '%' AND [row2] = ? AND [row3] = 'text3'", (text1,text2,))
添加回答
举报
0/150
提交
取消