728x90
반응형
REGEXP는 SQL에서 정규표현식(Regular Expression) 으로 문자열을 매칭할 수 있게 해주는 강력한 기능입니다.
큐브리드에서도 REGEXP_LIKE() 함수를 통해 사용 가능합니다.
✅ 기본 문법 (CUBRID)
SELECT * FROM 테이블명 WHERE REGEXP_LIKE(컬럼명, '정규표현식패턴');
🔍 예제들
1. 특정 패턴 포함
-- 이름에 "김"이 들어간 사람
SELECT * FROM 사용자 WHERE REGEXP_LIKE(이름, '김');
2. 전화번호가 010으로 시작
SELECT * FROM 연락처 WHERE REGEXP_LIKE(전화번호, '^010');
3. 숫자만 포함된 문자열 찾기
SELECT * FROM 데이터 WHERE REGEXP_LIKE(내용, '^[0-9]+$');
4. 이메일 주소 포맷 검사
SELECT * FROM 회원 WHERE REGEXP_LIKE(이메일, '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$');
# 자주 쓰는 정규식 패턴 요약
패턴 | 의미 |
. | 아무 문자 하나 |
^ | 문자열 시작 |
$ | 문자열 끝 |
[] | 문자 집합 |
+ | 1회 이상 반복 |
* | 0회 이상 반복 |
? | 0 또는 1회 |
{n} | 정확히 n회 |
` | ` |
⚠️ 주의
- 큐브리드에서는 REGEXP_LIKE() 를 사용해야 함. (MySQL과 약간 다름)
- 정규식이 복잡할수록 성능에 영향 줄 수 있으니 WHERE 절에 남용은 주의!
REGEXP '^ABC_' 조건은 정규식 의미
✅ 정규표현식 해석: ^ABC_
패턴 | 요소의미 |
^ | 문자열 시작을 의미함 |
ABC_ | 문자열이 'ABC_'로 시작해야 함 (밑줄 포함) |
🔍 예시로 살펴보면
이 조건에 매치되는 값 예시:
- ABC_123
- ABC_test
- ABC_
- ABC_xyz_more
매치되지 않는 값 예시:
- XABC_123 → 시작이 X로 되어 있음
- 123_ABC → 'ABC_'가 중간에 있음
- AABC_123 → ABC_ 앞에 다른 문자가 있음
✅ CUBRID 쿼리 예시
SELECT * FROM your_table WHERE REGEXP_LIKE(your_column, '^ABC_');
300x250
반응형