쿼리 질문입니다. 0 3 1,649

by 후인구 [2022.06.03 21:01:00]


SELECT ROW_NUMBER() OVER(ORDER BY a.job, a.ename) rn , a.*

FROM emp a

ORDER BY a.job, a.ename

 

 RN은 숫자로 리턴되는데

특수문자로 가져오는 방법은 없나요?

1 2 3 4 5 를

특수문자 ① ② ③ ④ ⑤ 로 가져오려고 합니다.

 

by pajama [2022.06.03 23:07:28]

translate 함수사용하시면 될듯합니다~

SELECT TRANSLATE(rn, '12345', '① ② ③ ④ ⑤')

두자리수 넘어가면 고민이군요.


by 후인구 [2022.06.06 21:00:19]

pajama님

DB2로는 TRANSLATE는 지원되는데

The second, third or fourth argument of the TRANSLATE scalar function is incorrect. SQLSTATE=42815 오류가 납니다.

DB2 버전은 11.1 입니다

 


by 마농 [2022.06.06 22:00:21]
SELECT job
     , ename
     , ROW_NUMBER() OVER(ORDER BY job, ename) rn
     , CHR(ROW_NUMBER() OVER(ORDER BY job, ename) + ASCII('①') - 1) o_rn
  FROM emp
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입