是否可以在SQL Server查询中结合使用LIKE
和IN
?
所以,这个查询
SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%')
查找以下任何可能的匹配项:
Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness
等等。
发布于 2009-12-08 15:55:27
实际上,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%'
发布于 2013-01-03 00:44:24
我知道这很陈旧,但我有一个有效的解决方案
SELECT Tbla.* FROM Tbla
INNER JOIN Tblb ON
Tblb.col1 Like '%'+Tbla.Col2+'%'
您可以使用where子句等进一步扩展它。我之所以回答这个问题,是因为这就是我正在寻找的东西,我必须找到一种方法来实现它。
发布于 2009-12-08 16:07:04
另一种选择是使用如下所示的内容
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
https://stackoverflow.com/questions/1865353
复制相似问题