Combining "LIKE" and "IN" for SQL Server

SqlSql Like

Sql Problem Overview


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...

Sql Solutions


Solution 1 - Sql

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%'

Solution 2 - Sql

I 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.

Solution 3 - Sql

One 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

Solution 4 - Sql

No, 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?

Solution 5 - Sql

You 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 

Solution 6 - Sql

No, MSSQL doesn't allow such queries. You should use col LIKE '...' OR col LIKE '...' etc.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionF.PView Question on Stackoverflow
Solution 1 - SqlFentonView Answer on Stackoverflow
Solution 2 - Sqllloydz1View Answer on Stackoverflow
Solution 3 - SqlAdriaan StanderView Answer on Stackoverflow
Solution 4 - SqlMitch WheatView Answer on Stackoverflow
Solution 5 - SqlEric J.View Answer on Stackoverflow
Solution 6 - SqlAndrew LyginView Answer on Stackoverflow