홈 › SQL 고급 › 09 / 10

정규식 함수

REGEXP_LIKE, REGEXP_SUBSTR, REGEXP_REPLACE, REGEXP_INSTR
섹션 6진행 0 / 10

정규식 함수: REGEXP_LIKE, REGEXP_SUBSTR, REGEXP_REPLACE, REGEXP_INSTR

전화번호 형식 검사, 메모에서 주문번호 뽑기, 번호 가운데 마스킹은 LIKE 의 %·_ 만으로는 하지 못하는 일입니다. 정규식 함수 네 개가 이 일을 맡습니다. 이 레슨은 가상의 고객 연락처 테이블로 형식 검증, 추출, 치환을 실행하고, DB 마다 다른 지원 범위와 함정을 정리합니다.

1. 왜 배우는가

외부에서 들어온 데이터는 형식이 제각각입니다. 같은 전화번호가 010-1234-5678, 01012345678, 010 9876 5432 로 섞여 있고, 메모 칸에는 주문번호가 문장 속에 묻혀 있습니다. LIKE 는 "무엇으로 시작한다" 정도만 표현하고 "숫자 네 자리" 나 "둘 중 하나" 는 표현하지 못합니다.

정규식은 문자열의 모양을 패턴으로 적는 문법이고, SQL 에서는 함수로 부릅니다. 검증(REGEXP_LIKE), 추출(REGEXP_SUBSTR), 위치(REGEXP_INSTR), 치환(REGEXP_REPLACE)이 기본 네 가지입니다. 데이터 정제와 이관 검증에서 자주 쓰입니다.

다만 정규식 조건은 일반 인덱스를 쓰지 못하고, DB 마다 지원 버전과 세부 문법이 다릅니다. 중급 07 문자·날짜 함수의 SUBSTR·REPLACE 로 안 되는 경우에만 꺼내는 도구입니다.