문제
이 질문은 이미 여기에 답이 있습니다.
결합 할 수 있습니까? LIKE
그리고 IN
SQL 서버 쿼리에서?
그래서이 쿼리
SELECT * FROM table WHERE column LIKE IN ('Text%', 'Link%', 'Hello%', '%World%')
가능한 경기 중 하나를 찾습니다.
Text, Textasd, Text hello, Link2, Linkomg, HelloWorld, ThatWorldBusiness
등...
해결책
효과적으로, 진술은 일련의 또는 진술을 만듭니다 ... 그래서
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
아니요, MSSQL은 그러한 쿼리를 허용하지 않습니다. 당신은 사용해야합니다 col LIKE '...' OR col LIKE '...'
등.
제휴하지 않습니다 StackOverflow