와일드카드란? 와일드카드 문자란? (WildCard)
- 와일드카드는 패턴 매칭을 위해 사용되는 문자
- 패턴에 일치하는 문자열을 효과적으로 검색하거나 필터링하기 위해 사용
- SQL에서 주로 WHERE 절의 LIKE 연산자와 함께 사용
- 여러 가지 와일드카드 문자(%, [], ^, _)가 존재
- 즉, 데이터를 더 쉽게 검색하여 원하는 결과를 얻기 위한 목적으로 사용
와일드카드 : % (백분율 문자)
% : 하나 이상의 일치하는 문자 찾기
개념
0개 이상의 문자를 나타낸다.
즉, 임의의 문자열을 대체할 수 있다.
예를 들어, 'a%'는 'a'로 시작하는 모든 문자열을 나타낸다.
사용 방법
'e%' : 문자 'e'로 시작하는 모든 문자열을 나타낸다.
'%e' : 문자 'e로 끝나는 모든 문자열을 나타낸다.
'%e%' : 문자 'e'가 중간에 포함되는 모든 문자열을 나타낸다.
'e%l' : 문자 'e'로 시작하고 'l'로 끝나는 모든 문자열을 나타낸다.
예시
'cheon'으로 끝나는 문자열을 like 조회해보기
SELECT
*
FROM
t1
WHERE
address LIKE '%cheon'
와일드카드 : [] (일치하는 문자)
[] : 대괄호 안에 있는 문자 중 하나 이상의 일치하는 문자 찾기
개념
대괄호 안에 있는 문자 중 하나를 나타낸다.
대괄호 안에 있는 어떤 문자든 해당 자리에 올 수 있다.
예를 들어, 't[ae]st'는 'tast'와 'test' 두 문자열과 일치한다.
사용 방법
'[abc]' : 단일 문자를 매칭하는 방법으로, 'a', 'b', 'c' 중 하나와 일치하는 문자열을 나타낸다.
'[a-z]' : 범위를 지정하여 매칭하는 방법으로, 대괄호 안에 두 문자 사이에 하이픈(-)을 사용하여 문자 범위를 지정할 수 있다. 알파벳 소문자 a부터 z까지 일치하는 문자열을 나타낸다.
'[a-zA-Z0-9]' : 여러 조합을 사용하여 매칭하는 방법으로, 영어 소문자와 대문자, 숫자 중 하나와 일치하는 문자열을 나타낸다.
예시
'i', 's'로 시작하는 문자열을 like 조회해보기
SELECT
*
FROM
t1
WHERE
address LIKE '[is]%'
와일드카드 : [^] (일치하지 않는 문자)
[^] : 대괄호 안에서 문자와 불일치하는 문자 찾기
개념
대괄호 안에서 ^를 사용하면 해당 문자를 제외한 나머지 문자를 나타낸다.
예를 들어, '[^0-9]'는 숫자가 아닌 문자와 일치하는 문자열을 찾는다.
사용 방법
'[^0-9]' : 숫자를 포함하지 않는 문자열을 나타낸다.
'[^0-9]abc' : 숫자를 포함하지 않고 'abc'가 포함된 문자열을 나타낸다.
예시
문자 중간에 'eo'가 포함되며, 'eo' 뒤에 'u' 문자열이 포함되지 않는 문자열을 like 조회해보기 (eou는 검색하지 않기)
SELECT
*
FROM
t1
WHERE
address LIKE '%eo[^u]%'
와일드카드 : _ (한 문자와 일치)
_ : 하나의 문자가 어떠한 문자든 상관없이 문자열 찾기
개념
하나의 문자를 나타낸다.
즉, 어떠한 문자든 하나의 문자에 된다.
예를 들어, 't_st'는 'test', 'tast', 'tost' 등과 일치한다.
사용 방법
'c_t' : c와 t로 된 세 글자 문자에서 중간 문자는 상관없이 문자열을 조회한다. 'cat', 'cAt', 'cut' 등, 어떠한 문자든 하나의 문자로 대응한다.
'_ _34' : 앞 두 글자가 어떠한 문자가 와도 34가 포함된 네 글자의 문자열을 조회한다. '1234', 'AB34' 등을 일치하지만 '234'를 일치시키진 않는다.
예시
문자 중간에 'e'로 시작하고 'u'로 끝나는 세 글자 문자열을 like 조회해보기 (exu에서 x는 어떤 문자가 와도 상관하지 않음)
SELECT
*
FROM
t1
WHERE
address LIKE '%e_u%'
참고
- 마이크로 소프트 공식 문서 - SQL Server 2022 - 백분율 문자 (와일드카드 - 일치하는 문자)(Transact-SQL)
- 마이크로 소프트 공식 문서 - SQL Server 2022 - [] (와일드카드 - 일치하는 문자)(Transact-SQL)
- 마이크로 소프트 공식 문서 - SQL Server 2022 - [^] (와일드카드 - 일치하는 문자)(Transact-SQL)
- 마이크로 소프트 공식 문서 - SQL Server 2022 - _ (와일드카드 - 일치하는 문자)(Transact-SQL)