by 히로 [SQL Query] 대소문자 치환 정규식 [2023.06.02 14:47:51]
안녕하세요..
제목 그대로 알파벳 대문자는 소문자로 소문자는 대문자로 , 그 이외의 문자는 그대로 나두는 치환 방법을 알고 싶습니다.
AbCdefG1234UZZfg34 => aBcDEFg1234uzzFG34 이렇게 치환하는 SQL 좀 부탁드립니다.
regexp_replace와 regexp_like등의 정보를 찾아 이를 조합해서 해보려고 하는데..
영 실력이 없어서 도움 요청드립니다.
SELECT LISTAGG( CASE WHEN ASCII(val) BETWEEN 65 AND 90 THEN LOWER(val) -- 대문자인 경우 WHEN ASCII(val) BETWEEN 97 AND 122 THEN UPPER(val) -- 소문자인 경우 ELSE val END ) WITHIN GROUP (ORDER BY ROWNUM) AS converted_string FROM (SELECT REGEXP_SUBSTR('AbCdefG1234UZZfg34', '.', 1, LEVEL) AS val FROM dual CONNECT BY LEVEL <= LENGTH('AbCdefG1234UZZfg34')); SELECT TRANSLATE('AbCdefG1234UZZfg34' , 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ' , 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz') AS column_name FROM dual;