我知道如何使用 LIKE 子句来提取列中包含硬编码子字符串的行:
SELECT * FROM userTable WHERE UPPER(column) LIKE UPPER('%this_is_a_hard_coded_string%')
但我无法弄清楚如何为子字符串使用变量而不是硬编码子字符串。通常,当我使用 python3 进行 sqlite3 查询时,我可以设置一个等于 ?然后向游标上的 execute 方法添加一个额外的参数;但是,这似乎在这里不起作用。
最佳答案
试试这个
t = ("%"+"this_is_a_hard_coded_string"+"%",)
c.execute('SELECT * FROM userTable WHERE UPPER(column) LIKE UPPER(?)', t)
您还可以使用更易读的“?”。
引用这个答案
https://stackoverflow.com/a/1010804/1471352
或者这个
关于python - 如何选择 sqlite3 数据库的所有行,这些行的列中包含某个变量子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49441238/