by 히로 [SQL Query] 대소문자 치환 정규식 [2023.06.02 14:47:51]
안녕하세요..
제목 그대로 알파벳 대문자는 소문자로 소문자는 대문자로 , 그 이외의 문자는 그대로 나두는 치환 방법을 알고 싶습니다.
AbCdefG1234UZZfg34 => aBcDEFg1234uzzFG34 이렇게 치환하는 SQL 좀 부탁드립니다.
regexp_replace와 regexp_like등의 정보를 찾아 이를 조합해서 해보려고 하는데..
영 실력이 없어서 도움 요청드립니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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; |