까막군's 주접 블로그

검색 :
RSS 구독 : 글 / 댓글 / 트랙백 / 글+트랙백

[Oracle] 숫자 지정자리수 절삭 함수

2007/08/07 18:44, 글쓴이 까막군

CREATE OR REPLACE FUNCTION "FN_CUT_NUMBER_FORMAT"
/******************************************************************************
   이  름  : FN_CUT_NUMBER_FORMAT
   설  명  : 지정 자리수의 숫자를 절삭 한다.
   인자값 : * i_number  ->  원본숫자
       * i_loc  -> 절삭 자리수 (1 : 1의 자리 , 10: 10의 자리, .....)
           (0.1 : 소숫점 1번째 자리 절삭, 0.01 : 소수점 둘째자리 절삭)
   반환값 :  * 정상 : 절삭삭된 숫자
       * 에러 : 원본 숫자
   예  제  : rev_str = FN_CUT_NUMBER_FORMAT(1234, 1);
       rev_str -> 1의 자리에서 절삭된 숫자 1230
 참  조   :    

   수정내역:
   Ver  Date   Author   Description
   ----  ----------  ----------  ---------------
   1.0  2007-08-07   최용수       1. 초기생성
 ******************************************************************************/
(
 i_number  IN NUMBER   , -- 입력 숫자
 i_loc   IN NUMBER     -- 절삭 자리수 (1 : 1의 자리 , 10: 10의 자리, .....)
) RETURN VARCHAR2
IS
 v_tmpNum  NUMBER;
    o_result  NUMBER; 
BEGIN

 v_tmpNum := 0;
 
 v_tmpNum := MOD(i_number, i_loc * 10); --//나머지 값 계산
 o_result := i_number - v_tmpNum;
 
    RETURN o_result;

EXCEPTION
 WHEN OTHERS THEN
  RETURN i_number;

END;
/



간단하지만..ㅡ.ㅡ 뭐 유용하게~

이런저런 숫자관련 함수가 있찌만. 뭔가 통일성이 없어보여서..
간단하게 만들었삼. 원하는 자리의 수 이하 자리수를 완전 버림. 즉 0으로 만들어버리는 무식절삭함수

Oracle 9.i 에서 개발/테스트 하였음.

...피드백은 댓글로받아요~ [...이런것도 오류나면 거시기한데..]
크리에이티브 커먼즈 라이센스
Creative Commons License
2007/08/07 18:44 2007/08/07 18:44

맨 위로