Database/SQL

Oracle 오라클 숫자에 꼼마 찍는 함수

리커니 2013. 5. 14.
반응형

 

Oracle 오라클 숫자에 꼼마 찍는 함수

 

* 원하는 자리마다 원하는 문자를 찍어주는 Function

 

CREATE OR REPLACE FUNCTION RESEARCH.NF_SPLITTER
  (
    I_STRNUMBER                      IN  VARCHAR2                     -- 문자열
  , I_SPACE                          IN  NUMBER                            -- 몇자리마다?
  , I_CHRCOMMA                       IN  VARCHAR2                    -- 무슨글자를?
  ) RETURN VARCHAR2
  IS
    V_NUM    NUMBER;
    V_OUTPUT VARCHAR2(1000);
   BEGIN

     SELECT LENGTH(I_STRNUMBER)
       INTO V_NUM
       FROM DUAL; 

     IF ( V_NUM > I_SPACE ) THEN
       V_OUTPUT := NF_SPLITTER(SUBSTR(I_STRNUMBER,1,V_NUM-I_SPACE),I_SPACE ,I_CHRCOMMA) || I_CHRCOMMA || SUBSTR(I_STRNUMBER,V_NUM-I_SPACE+1,I_SPACE);
     ELSE 
       V_OUTPUT := I_STRNUMBER;    
     END IF;  
     
    RETURN(V_OUTPUT);
    
  END NF_SPLITTER;
/

 

* 응용 & 사용법*

 

SELECT NF_SPLITTER(1000000, 3, ',') FROM DUAL;

 

: 1000000 의 3자리 마다 ',' 를 찍겠다.

결과 : 1,000,000

반응형

댓글

💲 추천 글