% (Represents zero or more characters)
가장 많이 사용하고 기본적인 와일드카드이다.
모든 문자를 포함하고 없는 경우도 해당된다.
ex)
SELECT *
FROM tb_test
WHERE name LIKE '%동%'
결과)
이동건
김동곤
박동
동숙
_ (Represents single character)
해당하는 문자만큼의 와일드카드이다.
DB를 관리하다 보면 테이블명에 '_'를 많이 사용하게 되는데 이 때문에 곤란한 경우가 있다.
ex)
SELECT *
FROM tables
WHERE name LIKE 'tb_%'
결과)
tb_test
tb_item
tbs
위과 같이 tb_로 시작하는 것을 조건으로 걸고 싶었지만 결과는 '_'를 와일드카드로 인식하여 의도하지 않은 결과를 출력하게 될 수 있다. 이러한 경우에는 제어문자 '#'를 활용하여 'tb#_%' ESCAPE '#'처럼 사용하면 된다.(잘 사용하진 않는다)
[ ] (Represents any single character within the brackets)
해당하는 패턴 안에 포함되는 하나의 문자에 대한 와일드카드
ex)
SELECT *
FROM phone
WHERE number LIKE '[0][0-9][0-9]'
결과)
010
051
070
마찬가지로 [A-Z]와 같이 활용도 가능하다.
^ (Represents any single character not in the brackets)
해당하는 패턴 안에 포함되는 하나의 문자를 제외하는 와일드카드
ex)
SELECT *
FROM member
WHERE name LIKE '김[^동]_'
결과)
김서욱
김남호
김북건
중간에 '동'이 들어간 경우에는 조회되지 않는다.
'컴퓨터 공부 > SQL' 카테고리의 다른 글
MSSQL Lock 문제 해결 (0) | 2023.08.21 |
---|---|
MSSQL 프로시저 캐시 / 버퍼 메모리 (0) | 2023.08.18 |
MSSQL Linked server(연결된 서버) (0) | 2023.08.14 |
MySQL 사용자 권한 부여 명령어(GRANT) (0) | 2023.08.10 |
MSSQL 로그인 계정 및 사용자 계정 (0) | 2023.08.09 |