Combinando " LIKE "e" IN " para o servidor SQL [duplicado]

Esta pergunta já tem uma resposta:
  • Há uma combinação de "como " e" em " em SQL? 21 respostas

é possível combinar LIKE e IN numa pesquisa de servidor SQL?

então, que esta consulta

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

encontra qualquer uma destas combinações possíveis:

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

Etc...

 165
Author: MPelletier, 2009-12-08

6 answers

Efectivamente, a declaração em cria uma série de ou declarações... então

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

É efectivamente

SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3
E, infelizmente, esse é o caminho que terá de seguir com as suas declarações semelhantes.
SELECT * FROM table
WHERE column LIKE 'Text%' OR column LIKE 'Hello%' OR column LIKE 'That%'
 188
Author: user75525, 2009-12-08 07:55:27
Sei que isto é antigo, mas tenho uma solução de trabalho.
SELECT Tbla.* FROM Tbla
INNER JOIN Tblb ON
Tblb.col1 Like '%'+Tbla.Col2+'%'

Você pode expandi-lo ainda mais com a sua cláusula onde etc. Só respondi a isto porque era disto que estava à procura e tinha de descobrir uma forma de o fazer.

 144
Author: lloydz1, 2018-09-04 16:41:43

Uma outra opção seria usar algo como isto

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
 93
Author: Adriaan Stander, 2009-12-08 08:07:04

Não, terá de usar OR para combinar as suas LIKE declarações:

SELECT 
   * 
FROM 
   table
WHERE 
   column LIKE 'Text%' OR 
   column LIKE 'Link%' OR 
   column LIKE 'Hello%' OR
   column LIKE '%World%'

Já olhaste parapesquisa de texto completo ?

 7
Author: Mitch Wheat, 2014-01-24 05:48:30
Precisas de várias cláusulas similares ligadas pelo bo.
SELECT * FROM table WHERE 
column LIKE 'Text%' OR 
column LIKE 'Link%' OR 
column LIKE 'Hello%' OR 
column LIKE '%World%' OR 
 4
Author: Eric J., 2009-12-08 07:53:32
Não, o MSSQL não permite essas consultas. Deve utilizar col LIKE '...' OR col LIKE '...' etc.
 1
Author: Andrew Lygin, 2009-12-08 07:54:35