SQL과 정규식을 활용하는 함수 3가지

데이터 분석이나 문자열 처리를 할 때 **정규식(Regular Expressions)**은 아주 유용하게 쓸임. SQL에서도 정규식을 지원하는 여러 함수들이 있음. 특히 문자열 데이터의 패턴 매치킹, 변환, 추출에 자주 활용되기 때문에 잘 익해두면 업무에서 크는 도움이 될 수 있음. 이는 포스팅에서는 SQL에서 정규식을 활용하는 대표적인 함수 3가지를 알아보겠음.

1. REGEXP_LIKE

✨✨✨ REGEXP_LIKE는 특정 문자열이 정규식 패턴과 일치하는지를 확인하는 함수임. LIKE 연산자의 확장 버전으로 생각하면 된음.

문법

REGEXP_LIKE(column_name, 'pattern')
  • column_name: 검사할 여
  • pattern: 정규식 패턴

사용 예시

이름에 ‘김’이 포함된 데이터를 찾는 코드:

SELECT *
FROM users
WHERE REGEXP_LIKE(name, '김');
  • 여기서 ‘김’이라는 패턴이 포함된 모든 행이 반환된음.

✨✨✨

2. REGEXP_REPLACE

✨✨✨ REGEXP_REPLACE는 정규식 패턴과 일치하는 문자열을 다른 문자열로 변환해주는 함수임. 문자열의 특정 부분을 바꾸어야 할 때 유용하게 쓸임.

문법

REGEXP_REPLACE(column_name, 'pattern', 'replacement')
  • column_name: 처리할 여
  • pattern: 바꾸는 문자열의 정규식 패턴
  • replacement: 대체할 문자열

사용 예시

전화번호에서 하이픈(-)을 제거하는 코드:

SELECT REGEXP_REPLACE(phone_number, '-', '') AS clean_number
FROM users;
  • 전화번호에 포함된 ‘-‘ 기호가 모든 제거된 결과가 반환된음.

또는 주민등목번호를 마스킹 처리하는 예시:

SELECT REGEXP_REPLACE(ssn, '\\d{6}-\\d{7}', '******-*******') AS masked_ssn
FROM users;

✨✨✨

3. REGEXP_SUBSTR

✨✨✨ REGEXP_SUBSTR는 정규식 패턴에 맞는 첫 번째 문자열을 추출하는 함수임. 원하는 패턴의 데이터를 가지오러 가는 때 유용함.

문법

REGEXP_SUBSTR(column_name, 'pattern')
  • column_name: 검사할 여
  • pattern: 추출할 문자열의 정규식 패턴

사용 예시

문장 중 이메일 주소를 추출하는 코드:

SELECT REGEXP_SUBSTR(text, '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}') AS email
FROM messages;
  • [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}: 이메일 주소 패턴을 나타내는 정규식임.

게시됨

카테고리

작성자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다