假设我在sqlite3数据库(通过python)中有一个名为table1
的表,其中有两列名为' id'和'字符串'以下是表格中的三个条目:
id string
'a' 'google'
'b' 'apple'
'c' 'application'
所以,让我说我希望所有的行都有' app'在他们身上,我该怎么做?我正在寻找这样的事情:
SELECT * FROM table1 WHERE 'app' in string
理论上会返回最后两行......
答案 0 :(得分:0)
您可以使用LIKE
SELECT * FROM table1
WHERE string LIKE '%app%'
<强> DEMO 强>
<强>更新强>
使用前面的通配符(LIKE '%app%'
)时,性能大致相同。
如果您希望字符串以app
开头,那么使用LIKE 'app%'
会更好。原因如下: -
第一个通配符之前的部分用作访问谓词,即它们限制扫描的索引范围。该 剩余的字符不会缩小扫描的索引 范围不匹配的条目只是在结果之外。
答案 1 :(得分:0)
试试这个:
SELECT * FROM table1 WHERE string LIKE '%app%'
答案 2 :(得分:0)
这非常简单。你需要使用LIKE&#39;%&#39; SQL中的运算符。它用于字符串匹配。
您的查询应该是这样的:
SELECT * FROM table1
WHERE string LIKE '%app%'
因为您没有提及“应用程序”是否适用于“应用程序”。应该位于字符串的开头或结尾处,我已经将字符串&#39; app&#39;大概两个&#39;%&#39;,以便找到应用程序&#39;字符串内的任何字符串。