일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오류
- 엑셀
- 태그를 입력해 주세요.
- 도서
- 데이터베이스
- 튜닝
- Report Designer
- oracle
- 톰캣
- 자바
- JEUS
- error
- 오라클
- 마이플랫폼
- 한글
- 에러
- Book
- miplatform
- Eclipse
- JavaScript
- java
- MIP
- 회계
- Excel
- 이클립스
- DB
- Tomcat
- 성능
- 기타소득
- 함수
- Today
- Total
어느 가을날의 전환점
ORACLE|오라클에서 숫자 한글(국문) 표기하기 본문
SELECT
1234567890
, TRANSLATE(
REGEXP_REPLACE(
REGEXP_REPLACE(
REGEXP_REPLACE(
LPAD(amt,16,
'0'
)
,
'(.)(.)(.)(.)'
,
'\1천\2백\3십\4 '
)
,
'(.*) (.*) (.*) (.*) '
,
'\1조\2억\3만\4'
)
,
'0천0백0십0.|0[천백십]'
,
''
)
,
'1234567890'
,
'일이삼사오육칠팔구'
) v
FROM
DUAL;
CREATE OR REPLACE FUNCTION KVHS_DEV."SF_GET_NUMTOKOR"
(
tmp_str IN VARCHAR2
)
RETURN VARCHAR2 AS
U1 VARCHAR2(27) := '일이삼사오육칠팔구';
U2 VARCHAR2(50) := ' 십백천만십백천억십백천조십백천';
RESULT VARCHAR2(256) := '';
NUM INTEGER;
ZERO_CNT INTEGER := 0;
BEGIN
IF tmp_str IS NULL THEN
RESULT := NULL;
ELSE
FOR i IN REVERSE 1 .. LENGTH(tmp_str)
LOOP
NUM := TO_NUMBER(SUBSTR(tmp_str,LENGTH(tmp_str)-i+1,1));
IF NUM > 0 THEN
RESULT := RESULT||SUBSTR(U1,NUM,1)||SUBSTR(U2,i,1);
ZERO_CNT := 0;
ELSE
ZERO_CNT := ZERO_CNT + 1;
IF i IN (13,9,5) AND ZERO_CNT < 4 THEN
RESULT := RESULT||SUBSTR(U2,i,1);
END IF;
END IF;
END LOOP;
END IF;
RETURN TRIM(RESULT);
END SF_GET_NUMTOKOR;
/
'Database > Oracle' 카테고리의 다른 글
ORACLE|오라클 Pipelined Table Functions (0) | 2015.02.15 |
---|---|
ORACLE|오라클 11g New Feature - Virtual Columns (가상 컬럼) (0) | 2014.12.02 |
ORACLE|임시 테이블(Temp Table) (0) | 2014.10.23 |
ORACLE|ORA-29275: 부분 다중 바이트 문자 Error(partial multibyte character) (0) | 2014.10.21 |
TOAD|토드에서 대량 데이터 Insert 시 &에 대한 변수 값 입력 해제 방법 (0) | 2014.10.21 |