为了账号安全,请及时绑定邮箱和手机立即绑定

为SQL Server组合“LIKE”和“IN”

为SQL Server组合“LIKE”和“IN”

千万里不及你 2019-09-19 15:26:48
是否有可能结合起来LIKE,并IN在SQL Server的查询?那么,这个查询SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%')查找以下任何可能的匹配项:Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness等等...
查看完整描述

3 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

实际上,IN语句创建了一系列OR语句......所以


SELECT * FROM table WHERE column IN (1, 2, 3)

是有效的


SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3

遗憾的是,这是你用LIKE语句必须采取的路线


SELECT * FROM table

WHERE column LIKE 'Text%' OR column LIKE 'Hello%' OR column LIKE 'That%'


查看完整回答
反对 回复 2019-09-19
?
函数式编程

TA贡献1807条经验 获得超9个赞

我知道这已经过时了,但我得到了一种有效的解决方案


SELECT Tbla.* FROM Tbla

INNER JOIN Tblb ON

Tblb.col1 Like '%'+Tbla.Col2+'%'

您可以使用where子句进一步扩展它。我只回答了这个问题,因为这是我正在寻找的东西,我不得不想办法做到这一点。

查看完整回答
反对 回复 2019-09-19
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

另一种选择是使用这样的东西


SELECT  * 

FROM    table t INNER JOIN

        (

            SELECT  'Text%' Col

            UNION SELECT 'Link%'

            UNION SELECT 'Hello%'

            UNION SELECT '%World%'

        ) List ON t.COLUMN LIKE List.Col


查看完整回答
反对 回复 2019-09-19
  • 3 回答
  • 0 关注
  • 1188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信