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

是否有可能结合起来LIKE,并IN在SQL Server的查询?


那么,这个查询


SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%')

查找以下任何可能的匹配项:


Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness

等等...


千万里不及你
浏览 1189回答 3
3回答

茅侃侃

实际上,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 tableWHERE column LIKE 'Text%' OR column LIKE 'Hello%' OR column LIKE 'That%'

函数式编程

我知道这已经过时了,但我得到了一种有效的解决方案SELECT Tbla.* FROM TblaINNER JOIN Tblb ONTblb.col1 Like '%'+Tbla.Col2+'%'您可以使用where子句进一步扩展它。我只回答了这个问题,因为这是我正在寻找的东西,我不得不想办法做到这一点。

梵蒂冈之花

另一种选择是使用这样的东西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
打开App,查看更多内容
随时随地看视频慕课网APP