소수점 앞에 0 표기 방법 0 3 5,081

by scott [Oracle 기초] 오라클 소수점 0 표기 [2013.07.26 11:32:26]


select round(months_between(to_date('20130714','YYYYMMDD'), to_date('20130707','YYYYMMDD')),1) from dual;

이렇게 해서 1주일 간의 차이를 출력해보았습니다.  값이 .2가 나왔는데요

앞에 숫자 0을 붙여 0.2로 표기하거나 아니면 그냥 숫자 정수2로 표기를 하고 싶은데
어떻게 해야하나요....? ㅠㅠㅠ
by 우리집아찌 [2013.07.26 11:38:49]

SELECT
  TO_CHAR(0.2, 'FM990.99')
FROM dual

by scott [2013.07.26 11:50:21]
아 생각해보니 2로 표기하는건 그냥 substr로 잘라주면 되겠네요 
답변 감사합니다 ^^

by 마농 [2013.07.26 11:53:47]
-- .2 나 0.2 나 표현상의 차이일 뿐 같은 수입니다.
-- 보여주는 툴에 따라서 다르게 표현할 수도 있는 문제이구요.
-- Number Type의 결과를 원하신다면 이부분은 쿨하게 신경 끊으셔야 하구요.
-- 반드시 0 을 앞에 붙여야겠다면 Number 타입으로는 안되고 문자형으로 바꾸셔야 합니다.
-- TO_CHAR 함수 자체에 ROUND 기능이 있으므로 Round 는 생략했습니다.
-- to_char 함수 사용시에는 0.2 외에 다른 값의 표현에 대한 정의도 생각하셔야 합니다.
-- 잘못 사용시 엉뚱한 결과가 나올수 있습니다. (0 이나 1 등의 정수 표현 등등)
SELECT TO_CHAR(
       MONTHS_BETWEEN( TO_DATE('20130714', 'yyyymmdd')
                     , TO_DATE('20130707', 'yyyymmdd')
                     ), 'fm990.0') v
  FROM dual
;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입