728x90
SQL Server에서 LIKE
연산자는 문자열 패턴 매칭을 위해 사용되는 연산자입니다. 주로 WHERE
절에서 문자열 검색 시 유용하게 사용됩니다. LIKE
연산자는 다음과 같은 두 가지 와일드카드 문자와 함께 사용됩니다:
- % (퍼센트 기호): 임의의 문자열을 나타냅니다.
- _ (언더스코어): 임의의 단일 문자를 나타냅니다.
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에서 문자열 패턴을 검색하고 매칭시킬 때 유용하게 사용할 수 있습니다.
반응형
'MS SQL Server (MSSQL)' 카테고리의 다른 글
SQL Server 인덱스(Index) 파헤치기 (2) | 2024.08.23 |
---|---|
SQL Server 날짜 시간 저장 방법 총정리 (+예시 포함) (85) | 2024.07.25 |
순위 함수: ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() 비교 (예제포함) (3) | 2024.07.18 |
SQL Server에서 Cross Join 이해하기 (1) | 2024.07.17 |
OLE DB와 ODBC 비교 (예제 포함) (0) | 2024.07.15 |