programing

SQL Server에 대한 "LIKE"와 "IN"의 조합

bestprogram 2023. 4. 27. 22:50

SQL Server에 대한 "LIKE"와 "IN"의 조합

결합이 가능합니까?LIKE그리고.INSQL Server-Query에서?

그래서, 이 질문은

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%'

전체 텍스트 검색을 살펴보셨습니까?

아니요, MSSQL에서는 이러한 쿼리를 허용하지 않습니다.사용해야 합니다.col LIKE '...' OR col LIKE '...'기타.

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