데이터베이스
[SQL] 정규식을 사용한 Select 조회
프리랜서_코더
2021. 1. 13. 09:00
SELECT 문법에서 DBMS에 따라 WHERE에 정규식을 사용하여 데이터를 조회할 수 있다.
오라클의 경우 REGEXP_LIKE 함수를 MySQL의 경우 REGEXP 함수를 사용한다.
ORACLE 10G
SELECT * FROM [테이블명] WHERE REGEXP_LIKE([컬럼명], [정규식]);
SELECT * FROM [테이블명] WHERE NOT REGEXP_LIKE([컬럼명], [정규식]);
ORACLE 11G에서는 REGEXP_COUNT 함수가 추가 되었다.
SELECT * FROM [테이블명] WHERE REGEXP_COUNT([컬러명], [정규식] ) > 0;
사용 예시
SELECT *
FROM MEMBER
WHERE REGEXP_LIKE(NAME, '[a-z] | [A-Z]');
SELECT *
FROM MEMBER
WHERE NOT REGEXP_LIKE(NAME, '[a-z] | [A-Z]');
SELECT *
FROM MEMBER
WHERE REGEXP_COUNT(NAME, '[a-z] | [A-Z]') > 0;
SELECT *
FROM MEMBER
WHERE REGEXP_COUNT(NAME, '[a-z] | [A-Z]') < 0;
MySQL
SELECT * FROM [테이블명] WHERE [컬럼명] REGEXP([정규식] );
SELECT * FROM [테이블명] WHERE [컬럼명] NOT REGEXP([정규식] );
사용 예시
SELECT *
FROM MEMBER
WHERE NAME REGEXP('[a-z] | [A-Z]');
SELECT *
FROM MEMBER
WHERE NAME NOT REGEXP('[a-z] | [A-Z]');