Is it possible to combine LIKE and IN in a SQL Server-Query?
So, that this query
SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%') Finds any of these possible matches:
Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness etc...
06 Answers
Effectively, the IN statement creates a series of OR statements... so
SELECT * FROM table WHERE column IN (1, 2, 3) Is effectively
SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3 And sadly, that is the route you'll have to take with your LIKE statements
SELECT * FROM table WHERE column LIKE 'Text%' OR column LIKE 'Hello%' OR column LIKE 'That%' 9I know this is old but I got a kind of working solution
SELECT Tbla.* FROM Tbla INNER JOIN Tblb ON Tblb.col1 Like '%'+Tbla.Col2+'%' You can expand it further with your where clause etc. I only answered this because this is what I was looking for and I had to figure out a way of doing it.
16One other option would be to use something like this
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 5No, you will have to use OR to combine your LIKE statements:
SELECT * FROM table WHERE column LIKE 'Text%' OR column LIKE 'Link%' OR column LIKE 'Hello%' OR column LIKE '%World%' Have you looked at Full-Text Search?
0You need multiple LIKE clauses connected by OR.
SELECT * FROM table WHERE column LIKE 'Text%' OR column LIKE 'Link%' OR column LIKE 'Hello%' OR column LIKE '%World%' OR 3No, MSSQL doesn't allow such queries. You should use col LIKE '...' OR col LIKE '...' etc.