문자열 다중 치환 가능할까요? 0 1 9,612

by 우주여행객 치환 문자열 [2012.07.18 15:31:36]


"1 d  5 8 z 12 24 k"

이런 데이타들이 들어있는 필드가 있습니다.
이중 숫자료 되어있는 문자들만 알파벳으로 치환하고 싶습니다.
1은 첫번째 알파벳인 a로 5는 5번째 알파벳인 e로 24는 24번째 알파벳인 x로요.

함수 없이 정규식이나 기타 방법으로 치환이 가능할까요?
by 마농 [2012.07.18 16:48:17]
WITH t AS
(
SELECT '1 d 5 8 z 12 24 k' v FROM dual
)
SELECT v
     , REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
       REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
       REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
       REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
       REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
       REPLACE('26', 'z')
       , '25', 'y'), '24', 'x'), '23', 'w'), '22', 'v'), '21', 'u')
       , '20', 't'), '19', 's'), '18', 'r'), '17', 'q'), '16', 'p')
       , '15', 'o'), '14', 'n'), '13', 'm'), '12', 'l'), '11', 'k')
       , '10', 'j'),  '9', 'i'),  '8', 'h'),  '7', 'g'),  '6', 'f')
       ,  '5', 'e'),  '4', 'd'),  '3', 'c'),  '2', 'b'),  '1', 'a')
       AS x
  FROM t
;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입