[MySQL] SELECT문 WHERE절 정규식 검색 (REGEXP)
그물터 관리/MySQL
2022/07/18 15:33
(1) OR를 쓴 검색문을 정규식 검색문으로 바꾸기
SELECT * FROM test_table WHERE name LIKE '돼지' OR name LIKE '꿀꿀이';
SELECT * FROM test_table WHERE name REGEXP '^(돼지|꿀꿀이)$';
SELECT * FROM test_table WHERE name LIKE '%돼지%' OR name LIKE '%꿀꿀이%';
SELECT * FROM test_table WHERE name REGEXP '돼지|꿀꿀이';
OR로 이어 붙인 조건문 2개(또는 여러 개)를 REGEXP로 정규 표현식을 쓴 조건문 1개로 바꾸어 나타낼 수 있다.(2) 영문 로마자 1자 또는 2자로 시작하는 값 찾기
SELECT * FROM test_table WHERE name REGEXP '^[a-zA-Z]{1,2}';
- 보기 : a, ab, aB, Ab, A가나, Ab가나, AAS, AG@D
(3) 영문 로마자로만 이루어진 값 찾기
SELECT * FROM test_table WHERE name REGEXP '^[a-zA-Z]+$';
- 보기 : abc, ABC, aBC, aZc
(4) 길이가 3인 문자열 값 찾기
SELECT * FROM test_table WHERE name REGEXP '^...$';
- 보기 : abc, ABC, !@#, 자갈치, 붕어빵, 가2나, 12개
(5) 완성형 한글이 들어간 값 찾기
SELECT * FROM test_table WHERE name REGEXP '[가-힣]';
- 보기 : a한글, a한글b, 한글, a한b글
[가-힣]는 가(U+AC00)와 힣(U+D7A3) 사이의 완성형 한글 낱내자 하나를 가리킨다.
(6) 완성형 한글만 들어간 값 찾기
SELECT * FROM test_table WHERE name REGEXP '^[가-힣]+$';
- 보기 : 가, 가나, 가나다
(7) 완성형 한글로 끝나는 값 찾기
SELECT * FROM test_table WHERE name REGEXP '[가-힣]$';
- 보기 : 가, 가나, 가나다, 123가, abc가나
덧글을 달아 주세요