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]');
'데이터베이스' 카테고리의 다른 글
[SQL] 문자열 합치기 (0) | 2021.01.15 |
---|---|
[SQL]Oracle 인덱스 용량 계산 (0) | 2021.01.14 |
[SQL] 기본 SQL (0) | 2021.01.11 |
[SQL] 매주 특정 요일의 날짜를 SQL로 계산하기 (0) | 2020.12.23 |
[SQL Template] paging, grid template (0) | 2020.02.04 |