MS SQL Server (MSSQL)

SQL Server 'LIKE' 키워드 기능 5가지

초심으로 2024. 7. 19. 13:00

728x90

SQL Server에서 LIKE 연산자는 문자열 패턴 매칭을 위해 사용되는 연산자입니다. 주로 WHERE 절에서 문자열 검색 시 유용하게 사용됩니다. LIKE 연산자는 다음과 같은 두 가지 와일드카드 문자와 함께 사용됩니다:

  1. % (퍼센트 기호): 임의의 문자열을 나타냅니다.
  2. _ (언더스코어): 임의의 단일 문자를 나타냅니다.

LIKE 연산자 사용 예제

1. 특정 문자열로 시작하는 경우:

SELECT * FROM Products
WHERE ProductName LIKE 'Ch%'
  • 설명: 이 쿼리는 ProductName이 'Ch'로 시작하는 모든 제품을 선택합니다.

2. 특정 문자열을 포함하는 경우:

SELECT * FROM Products
WHERE ProductName LIKE '%apple%'
  • 설명: 이 쿼리는 ProductName에 'apple'이 포함된 모든 제품을 선택합니다.

3. 특정 길이의 문자열을 찾는 경우:

SELECT * FROM Customers
WHERE LastName LIKE 'Sm_th'
  • 설명: 이 쿼리는 LastName이 'Smith', 'Smyth' 등과 같이 5글자인 문자열을 선택합니다. 언더스코어(_)는 한 글자를 나타냅니다.

4. 특정 패턴의 문자열을 찾는 경우:

SELECT * FROM Employees
WHERE FirstName LIKE '[JM]a%'
  • 설명: 이 쿼리는 FirstName이 'Ja' 또는 'Ma'로 시작하는 모든 직원을 선택합니다. 대괄호([]) 안에 있는 문자 중 하나가 올 수 있습니다.
반응형

5. % 또는 _ 기호가 포함된 값을 찾는 경우:

만약 이름에 % 또는 _ (언더스코어)가 포함된 직원을 찾고자 한다면, 다음과 같은 방법으로 LIKE 연산자와 ESCAPE 절을 활용할 수 있습니다.

SELECT * FROM Employees
WHERE FirstName LIKE '%\%%' ESCAPE '\'

SELECT * FROM Employees
WHERE FirstName LIKE '%\_%' ESCAPE '\'

위 예제에서 LIKE 패턴 %\_%는 FirstName에서 언더스코어가 포함된 모든 값을 선택합니다. ESCAPE '\' 절은 \를 이스케이프 문자로 지정하여 언더스코어를 검색할 수 있게 합니다.

주의사항

  • LIKE 연산자는 검색 속도를 저하시킬 수 있으므로 대규모 데이터베이스에서는 성능에 주의해야 합니다. 필요한 경우 인덱스를 사용하여 최적화할 수 있습니다.
  • SQL Server에서는 LIKE 연산자와 함께 ESCAPE 절을 사용하여 백슬래시()와 같은 문자를 이스케이프할 수 있습니다.

이러한 방법들을 잘 활용하면 SQL Server에서 문자열 패턴을 검색하고 매칭시킬 때 유용하게 사용할 수 있습니다.

반응형