Объединение "LIKE " и" IN " для SQL Server [дубликат]
этот вопрос уже есть ответ здесь:
Существует ли комбинация "LIKE" и " IN " в SQL?
21 ответов
можно ли совмещать LIKE и IN В SQL Server-Query?
так, что этот запрос
SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%')
находит любое из этих возможных совпадений:
Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness
etc...
6 ответов:
фактически оператор IN создает серию операторов OR... так что
SELECT * FROM table WHERE column IN (1, 2, 3)эффективно
SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3и, к сожалению, это маршрут, который вам придется взять с вашими подобными заявлениями
SELECT * FROM table WHERE column LIKE 'Text%' OR column LIKE 'Hello%' OR column LIKE 'That%'
Я знаю, что это старый, но у меня есть своего рода рабочее решение
SELECT Tbla.* FROM Tbla INNER JOIN Tblb ON Tblb.col1 Like '%'+Tbla.Col2+'%'вы можете расширить его дальше с вашим предложением where и т. д. Я только ответил на это, потому что это то, что я искал, и я должен был найти способ сделать это.
еще один вариант - использовать что-то вроде этого
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
нет, вам придется использовать
ORобъединить свойLIKEотчетность:SELECT * FROM table WHERE column LIKE 'Text%' OR column LIKE 'Link%' OR column LIKE 'Hello%' OR column LIKE '%World%'вы смотрели Полнотекстовый Поиск?
вам нужно несколько подобных предложений, связанных с помощью OR.
SELECT * FROM table WHERE column LIKE 'Text%' OR column LIKE 'Link%' OR column LIKE 'Hello%' OR column LIKE '%World%' OR
Comments