Combinando "LIKE" e "IN" para SQL Server [duplicado]
¿Es posible combinar LIKE
y IN
en una consulta de SQL Server?
Entonces, que esta consulta
SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%')
Encuentra cualquiera de estas posibles coincidencias:
Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness
etc...
Aceptado
Efectivamente, la declaración IN crea una serie de declaraciones OR... entonces
SELECT * FROM table WHERE column IN (1, 2, 3)
es efectivamente
SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3
Y lamentablemente, ese es el camino que tendrás que tomar con tus declaraciones ME GUSTA.
SELECT * FROM table
WHERE column LIKE 'Text%' OR column LIKE 'Hello%' OR column LIKE 'That%'
Sé que esto es antiguo pero tengo una especie de solución funcional.
SELECT Tbla.* FROM Tbla
INNER JOIN Tblb ON
Tblb.col1 Like '%'+Tbla.Col2+'%'
Puedes expandirlo aún más con tu cláusula donde, etc. Solo respondí esto porque esto es lo que estaba buscando y tenía que encontrar una manera de hacerlo.
Otra opción sería usar algo como esto.
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
No, tendrás que utilizar OR
para combinar tus LIKE
declaraciones:
SELECT
*
FROM
table
WHERE
column LIKE 'Text%' OR
column LIKE 'Link%' OR
column LIKE 'Hello%' OR
column LIKE '%World%'
¿ Has mirado la búsqueda de texto completo ?