IT story

SQL Server에 "LIKE"와 "IN"결합

hot-time 2020. 4. 23. 08:02
반응형

SQL Server에 "LIKE"와 "IN"결합


이 질문에는 이미 답변이 있습니다.

그것은 결합하는 것이 가능 LIKE하고 IN는 SQL 서버 쿼리에?

이 쿼리는

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

가능한 일치 항목을 찾습니다.

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

기타...


효과적으로, IN 문은 일련의 OR 문을 작성합니다.

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

효과적으로

SELECT * FROM table WHERE column = 1 OR column = 2 OR column = 3

슬프게도, 그것은 당신이 LIKE 진술과 함께 취할 경로입니다

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로 연결된 여러 LIKE 절이 필요합니다.

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 '...'등을 사용해야합니다 .

참고 URL : https://stackoverflow.com/questions/1865353/combining-like-and-in-for-sql-server

반응형