Database/MS-SQL

와일드 카드를 이용한 SELECT

ㅈㅣ니 2024. 6. 20.
반응형

오늘은 데이터를 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 Server 2022 설치하기  (0) 2024.06.13