행위

"오라클 통화 포맷 함수"의 두 판 사이의 차이

DB CAFE

(새 문서: <source lang=sql> CREATE OR REPLACE FUNCTION FN_CURRENCY_FORMAT ( inValue NUMBER , inCurrency VARCHAR2...)
 
 
84번째 줄: 84번째 줄:
 
END FN_CURRENCY_FORMAT;
 
END FN_CURRENCY_FORMAT;
 
</source>
 
</source>
 +
[[category:oracle]]

2020년 7월 19일 (일) 13:10 기준 최신판

thumb_up 추천메뉴 바로가기


CREATE OR REPLACE FUNCTION FN_CURRENCY_FORMAT (
                           inValue         NUMBER
                         , inCurrency      VARCHAR2
                         , inIncludeComma  VARCHAR2   DEFAULT 'Y'
                         --, inUserFormat    VARCHAR2   DEFAULT 'NFM01'

)

RETURN VARCHAR2 IS

    v_result     VARCHAR2(50)   := NULL;

    v_format     VARCHAR2(50)   := NULL;

    v_value      NUMBER         := NULL;



BEGIN

    IF inValue IS NULL THEN

        RETURN NULL;

    END IF;



    IF inCurrency IN ('KRW', 'VND', 'JPY', 'THB') THEN



        IF inIncludeComma = 'Y' THEN

            v_format := 'FM999,999,999,999,990';

        ELSE

            v_format := 'FM999999999999990';

        END IF;

        v_value := TRUNC(inValue);



    ELSE

        IF inIncludeComma = 'Y' THEN

            v_format := 'FM999,999,999,999,990.00';

        ELSE

            v_format := 'FM999999999999990.00';

        END IF;

        v_value := TRUNC(inValue, 2);



    END IF;





    RETURN TO_CHAR(v_value, v_format);



    EXCEPTION

        WHEN OTHERS THEN

            -- Consider logging the error and then re-raise

            RETURN inValue;



END FN_CURRENCY_FORMAT;