我是 Sqlite 的新手。下面的代碼行 c是一個光標:c.execute(
"SELECT rowid,* from statements "
"WHERE [row1] = (?*) AND [row2] = (?) AND [row3] = 'text3'",
(text1,text2,)
)
items = c.fetchall()在上面我試圖找到 row1 中的文本是以 text1 開頭的任何行,例如我想選擇第 1 行是“?!薄ⅰ榜R”或溫度計”的行,其中 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
提交
取消