Data house
[MYSQL] 와일드 카드 본문
728x90
MySQL에서 Like 검색 사용시 MySQL에서는 5가지 와일드 카드를 이용합니다.
Symbol | Description | Example |
% | 0 이상의 문자열들을 나타낸다 | ap%은 apple, app, application 을 찾아내지만 abc는 찾지 않음 |
_ | 1개 문자를 나타낸다 | h_t은 hot, hit, hat을 찾아내지만 handsome은 찾아내지 않음 |
[] | 괄호 안에 있는 문자들 중 하나라도 포함한 것들을 나타낸다 | h[oa]t는 hot, hat을 찾아내지만 hit은 찾아내지 않음 |
^ | 괄호 안에 있는 문자들을 포함하지 않는 문자를 나타낸다 | h[^oa]t는 hit을 찾아내지만 hot, hat을 찾아내지 않음 |
- | 문자열의 범위를 나타낸다 | c[a-b]t는 cat, cbt를 찾아낸다. |
예시
SELECT * FROM CUSTOMER
1.
WHERE customerName LIKE ‘a[bc]d’
customerName column의 data 중, 첫 번째 글자가 a이고 마지막 글자가 d인 것 중, 사이에 b나 c가 포함된 모든 것을 찾아라. acd, abd는 찾으나 aod는 찾지 않는다.
2.
WHERE customerName LIKE ‘a[^bc]d’
customerName column의 data 중, 첫 번째 글자가 a이고 마지막 글자가 d인 것 중, 사이에 b나 c가 미포함된 모든 것을 찾아라. aod는 찾으나.는찾으나 acd, abd는 찾지 않는다.
3.
WHERE customerName LIKE ‘a[b-d]z’
customerName column의 data 중, 첫 번째 글자가 a이고 마지막 글자가 z인 것 중, 사이에 b부터 c, d 중 하나라도 포함된 것을 찾아라. acz, adz는 찾으나 aez는 찾지 않는다.
'Computer Knowledge > 데이터베이스' 카테고리의 다른 글
[MYSQL] 조건에 맞는 사용자 정보 조회 - CONCAT, JOIN (0) | 2023.05.12 |
---|---|
[MYSQL] 정규식을 이용한 검색 regexp (0) | 2023.05.12 |
[MySQL] 중성화 여부 파악하기 ( IF 함수 또는 CASE WHEN) (0) | 2023.05.12 |
[MYSQL] 대여 기록 구분 - DATEDIFF, TIMESTAMPDIFF (0) | 2023.05.06 |
[MYSQL] DATEDIFF, TIMESTAMPDIFF (0) | 2023.05.06 |