CREATE TABLE T
AS
(
SELECT 123456789012345 AMT FROM DUAL
UNION ALL SELECT 29000 FROM DUAL
UNION ALL SELECT 309840 FROM DUAL
) ;
SELECT AMT
, TRANSLATE
( SUBSTR(V, 1,1)||DECODE(SUBSTR(V, 1,1),0,'','천')
|| SUBSTR(V, 2,1)||DECODE(SUBSTR(V, 2,1),0,'','백')
|| SUBSTR(V, 3,1)||DECODE(SUBSTR(V, 3,1),0,'','십')
|| SUBSTR(V, 4,1)||DECODE(SUBSTR(V, 1,4),0,'','조')
|| SUBSTR(V, 5,1)||DECODE(SUBSTR(V, 5,1),0,'','천')
|| SUBSTR(V, 6,1)||DECODE(SUBSTR(V, 6,1),0,'','백')
|| SUBSTR(V, 7,1)||DECODE(SUBSTR(V, 7,1),0,'','십')
|| SUBSTR(V, 8,1)||DECODE(SUBSTR(V, 5,4),0,'','억')
|| SUBSTR(V, 9,1)||DECODE(SUBSTR(V, 9,1),0,'','천')
|| SUBSTR(V,10,1)||DECODE(SUBSTR(V,10,1),0,'','백')
|| SUBSTR(V,11,1)||DECODE(SUBSTR(V,11,1),0,'','십')
|| SUBSTR(V,12,1)||DECODE(SUBSTR(V, 9,4),0,'','만')
|| SUBSTR(V,13,1)||DECODE(SUBSTR(V,13,1),0,'','천')
|| SUBSTR(V,14,1)||DECODE(SUBSTR(V,14,1),0,'','백')
|| SUBSTR(V,15,1)||DECODE(SUBSTR(V,15,1),0,'','십')
|| SUBSTR(V,16,1) , '1234567890', '일이삼사오육칠팔구') V
FROM (SELECT AMT, LPAD(AMT,16,'0') V FROM T);
결과
AMT V
-----------------------------------------------------------------------------------------
123456789012345 일백이십삼조사천오백육십칠억팔천구백일만이천삼백사십오
29000 이만구천
309840 삼십만구천팔백사십
728x90
반응형
'DB > Oracle' 카테고리의 다른 글
| Oracle 공휴일, 토요일, 일요일을 제외한 평일 구하기 (0) | 2018.02.15 |
|---|---|
| oracle 테이블 컬럼 정보 조회하기 (0) | 2018.02.15 |
| 오라클 조인으로 삭제하기 (0) | 2018.01.22 |
| 오라클 특정일부터 현재일까지 날짜 출력 (0) | 2018.01.16 |
| 오라클 쿼리로 달력 만들기 (0) | 2018.01.15 |