[英]SQL SELECT from table when substring is in a string
假设我在sqlite3数据库(通过python)中有一个名为table1
的表,其中有两列分别名为“ id”和“ string”,这是表中的三个条目:
id string
'a' 'google'
'b' 'apple'
'c' 'application'
所以说我想要所有带有“ app”的行,那么我该怎么做? 我正在寻找这样的东西:
SELECT * FROM table1 WHERE 'app' in string
从理论上讲,这将返回最后两行...。
您可以使用LIKE
SELECT * FROM table1
WHERE string LIKE '%app%'
更新:
当您使用前置通配符(如LIKE '%app%'
)时,性能将大致相同。
如果要以app
开头的字符串,则使用LIKE 'app%'
会更好。 原因如下:-
第一个通配符之前的部分用作访问谓词,即它们限制了扫描索引范围。 其余字符不会缩小扫描的索引范围-不匹配的条目仅被排除在结果之外。
尝试这个:
SELECT * FROM table1 WHERE string LIKE '%app%'
非常简单 您需要在SQL中使用LIKE'%'运算符。 它用于字符串匹配。
您的查询应该是这样的:
SELECT * FROM table1
WHERE string LIKE '%app%'
由于您没有提到“ app”应该放置在字符串的开头还是结尾,因此我将字符串“ app”包装在两个“%”周围,以便它将“ app”字符串放置在字符串内的任何位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.