DataBase/Oracle
[Oracle] 영문 대소문자 및 숫자 정규식 사용하여 데이터 조회
MinaChae
2021. 1. 13. 19:47
*해당하는 컬럼에 영문 대소문자 및 숫자가 포함된 데이터만 출력
SELECT *
FROM ( SELECT '123' AS column_name FROM DUAL
UNION ALL
SELECT 'test' AS column_name FROM DUAL
UNION ALL
SELECT '한글' AS column_name FROM DUAL
UNION ALL
SELECT 'test123' AS column_name FROM DUAL
UNION ALL
SELECT 'TEST' AS column_name FROM DUAL
UNION ALL
SELECT '필터링 후' AS column_name FROM DUAL
UNION ALL
SELECT 'TEST123' AS column_name FROM DUAL
UNION ALL
SELECT 'tEsT123' AS column_name FROM DUAL
UNION ALL
SELECT '출력된다.' AS column_name FROM DUAL
)
WHERE REGEXP_LIKE(column_name, '^[0-9a-zA-Z]*$')
;
한글만 제외된 나머지 데이터가 출력
만일 여기서 한글도 조회 하고 싶다면 정규식에 '가-힝'(Language set에 따라 범위 다름 주의)추가
숫자, 영문 대소문자를 포함하지 않는 대상건 조회시 REGEXP_LIKE 앞에 NOT을 붙인다.
...
WHERE NOT REGEXP_LIKE(column_name, '^[0-9a-zA-Z]*$')