python - 如何选择 sqlite3 数据库的所有行,这些行的列中包含某个变量子字符串?

标签 python sqlite

我知道如何使用 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

或者这个

https://stackoverflow.com/a/3105370/1471352

关于python - 如何选择 sqlite3 数据库的所有行,这些行的列中包含某个变量子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49441238/

相关文章:

sql - 数据库索引及其 Big-O 表示法

SQLite基于时间格式的SELECT记录 "HH:mm:ss"

python - 使用Python从字符串中删除除数字以外的字符?

python - 只有 None 的二叉树可以被认为是最小堆树吗?

python - gis 中的 huff 模型

c# - MySql 和 SQlite 类实现接口(interface)

sql - 选择多个最小值

Python 运算符优先级 - 2 ** 3 ** 2 ** 1 = 512 - 不确定如何?

python - 数组随机打乱,但保持对角线固定

android - 我怎样才能只从安卓电话簿中获取所有手机号码?