오늘은 데이터를 SELECT 할 때 사용하는 LIKE 연산자에 대해서 알아보고,
검색 조건으로 쓰이는 와일드 카드에 대해 알아보는 시간을 가질 것이다.
와일드 카드란?
-> LIKE 연산자를 통해 특정한 값을 검색하는데, 이때 쓰이는 연산자를 의미한다.
종류로는 아래와 같이 구성되어있다.
와일드 카드 | |
% | 모든 문자를 의미한다. |
_ | 한 개의 문자를 대신한다. |
[ ] | 대괄호 안에 일치시킬 문자와 범위를 지정할 수 있다. |
예시
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE 'A%'
-> A로 시작하는 모든 문자열
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '%A%'
-> A가 포함된 모든 문자열
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE 'A%Z'
-> A로 시작해서 Z로 끝나는 모든 문자열
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '_A%'
-> 두 번째 문자가 A인 모든 문자열
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '[ABC]%'
-> 첫 번째 문자가 A 또는 B또는 C인 모든 문자열
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '[A-D]%'
-> 첫 번째 문자가 ABCD에 속하는 모든 문자열
SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '[^A]%'
-> 첫 번째 문자가 A가 아닌 모든 문자열
만약 %라는 문자가 포함된 문자열을 출력하고 싶은 경우
LIKE '%[문자][검색할 문자]%' ESCAPE '[문자]'
=>
LIKE '%#%%' ESCAPE '#'
[문자] 부분에는 아무 문자를 넣을 수 있다.
=> 왜 이렇게 하냐면 LIKE 문에서 % 문자는 검색 기능에 쓰이는 문자로 쓰이기 때문이다.
와일드 카드를 사용할 때 주의할 점)
와일드 카드는 검색 속도를 저하시킬 수 있기 때문에, 다른 검색 조건이 있다면 그것을 우선적으로 사용하는 것을 추천한다!
반응형
'Database > MS-SQL' 카테고리의 다른 글
[SQL] WHERE 절의 IN 연산자 (0) | 2024.08.01 |
---|---|
정규화 (Normalization) 란? (0) | 2024.08.01 |
JOIN (0) | 2024.07.11 |
SQL 개념 정리 (DDL, DML, DCL, TCL) (0) | 2024.07.04 |
[MS-SQL] SQL Server 2022 설치하기 (0) | 2024.06.13 |