부정확 한 일치를 위해 와일드 카드 사용
SQL 패턴 일치를 사용하면 원하는 단어 나 구를 모르는 경우 데이터 패턴을 검색 할 수 있습니다. 이러한 종류의 SQL 쿼리는 패턴을 정확하게 지정하는 대신 와일드 카드 문자를 사용하여 패턴을 일치시킵니다. 예를 들어, 와일드 카드 "C %"를 사용하여 대문자 C로 시작하는 문자열을 일치시킬 수 있습니다.
LIKE 연산자 사용
SQL 쿼리에서 와일드 카드 식을 사용하려면 WHERE 절에서 LIKE 연산자를 사용하고 패턴을 작은 따옴표로 묶습니다.
% 와일드 카드를 사용하여 단순 검색 수행
마지막 문자가 C로 시작하는 데이터베이스의 직원을 검색하려면 다음 Transact-SQL 문을 사용하십시오.
SELECT * FROM 직원 where last_name LIKE 'C %'NOT 키워드를 사용하여 패턴 생략
패턴과 일치하지 않는 레코드를 선택하려면 NOT 키워드를 사용하십시오. 예를 들어,이 쿼리는 이름이 C로 시작하지 않는 모든 레코드를 반환합니다.
SELECT * FROM employees 어디에서 last_name NOT LIKE 'C %'% 와일드 카드를 두 번 사용하여 어디에서나 패턴 매치
어디에서나 특정 패턴을 일치 시키려면 % 와일드 카드의 두 인스턴스를 사용하십시오. 이 예에서는 성을 포함한 모든 위치에 C가 포함 된 모든 레코드를 반환합니다.
SELECT * FROM 직원 이름 where last_name LIKE '% C %'특정 위치에서 패턴 일치 찾기
_ 와일드 카드를 사용하여 특정 위치에서 데이터를 리턴하십시오. 이 예제는 성 C의 세 번째 위치에서 C가 발생하는 경우에만 일치합니다.
SELECT * FROM 직원 where last_name LIKE '_ _C %'Transact SQL에서 지원되는 와일드 카드 식
Transact SQL에서 지원하는 몇 가지 와일드 카드식이 있습니다.
- % 와일드 카드는 모든 유형의 0 개 이상의 문자와 일치하며 패턴 앞뒤에 와일드 카드를 정의하는 데 사용할 수 있습니다. DOS 패턴 매칭에 익숙하다면, 그 문법의 * 와일드 카드와 동일합니다.
- _ 와일드 카드는 모든 유형의 정확히 한 문자와 일치합니다. 그것은의 동등한가 ? DOS 패턴 일치의 와일드 카드
- 대괄호로 묶어 문자 목록을 지정하십시오. 예를 들어, 와일드 카드 [aeiou] 는 모든 모음과 일치합니다.
- 범위를 대괄호로 묶어 문자 범위를 지정하십시오. 예를 들어, 와일드 카드 [am] 는 알파벳의 첫 번째 절반에있는 문자와 일치합니다.
- 여는 대괄호 안에 캐럿 문자를 포함시켜 문자 범위를 제거합니다. 예를 들어 [^ aeiou] 는 모음이 아닌 모든 문자와 일치하지만 [^ am] 은 알파벳의 첫 번째 절반에없는 문자와 일치합니다.
복잡한 패턴에 와일드 카드 결합
복잡한 패턴에서 이러한 와일드 카드를 결합하여 고급 쿼리를 수행하십시오. 예를 들어, 알파벳의 첫 번째 절반에서 문자로 시작하지만 모음으로 끝나지 않는 이름을 가진 모든 직원 목록을 작성해야한다고 가정합니다. 다음 쿼리를 사용할 수 있습니다.
SELECT * FROM employees 어디에서 last_name LIKE '[am] % [^ aeiou]'마찬가지로 네 패턴의 _ 패턴을 사용하여 정확히 4 자로 구성된 성을 가진 모든 직원의 목록을 작성할 수 있습니다.
SELECT * FROM 직원 where last_name LIKE '____'SQL 패턴 일치 기능을 사용하면 데이터베이스 사용자가 간단한 텍스트 쿼리를 넘어 고급 검색 작업을 수행 할 수 있습니다.