我是 Sqlite 的新手。下面的代碼行 c是一個(gè)光標(biāo):c.execute(
"SELECT rowid,* from statements "
"WHERE [row1] = (?*) AND [row2] = (?) AND [row3] = 'text3'",
(text1,text2,)
)
items = c.fetchall()在上面我試圖找到 row1 中的文本是以 text1 開頭的任何行,例如我想選擇第 1 行是“牛”、“馬”或溫度計(jì)”的行,其中 text1="the"和第 2 行是“大象”,其中 text2="elephant"和第 3 行是“text3”我使用 (?) 運(yùn)算符,因?yàn)檫@是將使用不同參數(shù)調(diào)用的函數(shù)的一部分。
1 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
您必須使用運(yùn)算符LIKE
代替=
第一個(gè)條件,并且要使其起作用,您必須將占位符?
與通配符連接起來(lái)'%'
:
c.execute("SELECT rowid,* from statements WHERE [row1] LIKE ? || '%' AND [row2] = ? AND [row3] = 'text3'", (text1,text2,))
添加回答
舉報(bào)
0/150
提交
取消