문제

이 질문은 이미 여기에 답이 있습니다.

결합 할 수 있습니까? 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 '...' 등.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top