상세 컨텐츠

본문 제목

쿼리에서 REGEXP 함수 뜻은?

IT/DB

by JR 2025. 9. 14. 21:47

본문

300x250
반응형

 

 

 

SQL에서 REGEXP (또는 REGEXP_LIKE) 함수는 정규표현식(Regular Expression) 을 이용해서 문자열이 특정 패턴과 일치하는지 확인하는 함수입니다.


✅ DBMS별 REGEXP 함수

1. MySQL

  • REGEXP 또는 RLIKE 사용
 
SELECT 'apple' REGEXP 'app';   -- 1 (true)
SELECT 'banana' REGEXP '^b';   -- 1 (true, b로 시작)
SELECT 'banana' REGEXP 'na$';  -- 1 (true, na로 끝남)
SELECT 'cat' REGEXP 'dog';     -- 0 (false)

2. Oracle

  • REGEXP_LIKE 사용 (WHERE 절에서 주로 사용)
SELECT * 
FROM users
WHERE REGEXP_LIKE(username, '^[A-Z]'); 
-- username이 대문자로 시작하는 경우
 

3. PostgreSQL

  • ~ (대소문자 구분) / ~* (대소문자 무시)
SELECT 'apple' ~ 'app';    -- true
SELECT 'Apple' ~* 'app';   -- true (대소문자 무시)
 

4. SQL Server

  • 기본적으로 REGEXP는 없음 ❌
  • 대신 LIKE, PATINDEX 등을 쓰거나 CLR, 외부 라이브러리로 정규식 지원을 붙여야 합니다.
    (SQL Server 2017 이후부터는 일부 함수에서 JSON/문자열 처리로 비슷한 기능 구현 가능)

✅ 주요 정규표현식 패턴


패턴 의미 예시
^ 문자열 시작 ^A → A로 시작
$ 문자열 끝 z$ → z로 끝
. 임의의 한 문자 c.t → cat, cot
* 0개 이상 반복 a* → "", a, aa, aaa
+ 1개 이상 반복 a+ → a, aa, aaa
? 0개 또는 1개 a? → "", a
[ ] 문자 집합 [0-9] → 숫자 1자리
{n,m} 반복 횟수 [0-9]{3} → 숫자 3자리

📌 정리

  • REGEXP는 SQL에서 정규표현식을 사용해 문자열 패턴 매칭을 할 때 쓰는 함수.
  • DBMS마다 함수 이름은 다르지만 (MySQL=REGEXP, Oracle=REGEXP_LIKE, PostgreSQL=~), 역할은 동일.
  • SQL Server는 기본 지원이 없어 다른 방법 사용.

 

 

300x250
반응형

관련글 더보기