| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 에러
- Tomcat
- 함수
- oracle
- Book
- MIP
- Excel
- DB
- 자바
- JEUS
- JavaScript
- 톰캣
- 한글
- Eclipse
- 이클립스
- miplatform
- 성능
- java
- 오라클
- 마이플랫폼
- 데이터베이스
- 튜닝
- 기타소득
- Report Designer
- error
- 태그를 입력해 주세요.
- 엑셀
- 도서
- 회계
- 오류
- 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 |