繁体   English   中英

当子字符串在字符串中时,从表中进行SQL SELECT

[英]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%'

DEMO

更新:

当您使用前置通配符(如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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM