Judy's Note

[Oracle] 영문 대소문자 및 숫자 정규식 사용하여 데이터 조회 본문

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]*$')

'DataBase > Oracle' 카테고리의 다른 글

[Oracle] With구문 다중 사용 (2절 이상)  (0) 2021.01.13
Comments