반응형

Oracle 로고

 

오라클에서 소수점이 0.1 이렇게 있을 때, 일반적으로 출력하려고 하면 0.1이 아닌 .1로 표기가 된다. 이 방법은 RTRIM과 TO_CHAR 함수를 사용하여 소수점 0.1을 출력할 수 있다.

 


오라클(Oracle) 소수점 0. 표시하는 방법(RTRIM, TO_CHAR)

1. TO_CHAR('FM9990.99')

소수점 0.을 표기하기 위해서는 TO_CHAR(값, 'FM9990.99')를 많이 사용한다.

SELECT TO_CHAR(0.12345) AS AA
     , TO_CHAR(0.12345, 'FM999.99') AS AB
     , TO_CHAR(0.12345, 'FM990.99') AS AC
     , TO_CHAR(0.12345, 'FM999.999') AS AD
     , TO_CHAR(0.12345, 'FM990.9999') AS AE
     , TO_CHAR(0.12345, 'FM990.99999') AS AE
  FROM DUAL;

 

0.12345라는 값이 있을 때, FM999를 하면 맨 뒷자리가 아무 값이 없으면 0을 표기 하지 않고, FM990을 하면 값이 없어도 0을 표기한다.

 

그리고 뒷자리의 .99에 따라서 자리수 표기를 어디까지 할 건지 나타내며, 0.12345가 있을 때 FM990.9999를 할 경우, 5가 반올림이 되어 0.1235가 출력된다.

 

여기서 주의할 점은 입력받은 값을 자리수보다 작게 FM 정의를 하게 되면 ### 이라는 에러가 발생한다.

SELECT TO_CHAR(0.12345) AS AA
     , TO_CHAR(0.12345, 'FM999.99') AS AB
     , TO_CHAR(0.12345, 'FM990.99') AS AC
     , TO_CHAR(1111111.12345, 'FM999.999') AS AD
     , TO_CHAR(0.12345, 'FM990.9999') AS AE
     , TO_CHAR(0.12345, 'FM990.99999') AS AE
  FROM DUAL;

 

 

AD 컬럼의 경우, 값보다 작게 정의를 할 경우 #######을 출력하게 된다.

 

만약, 소수점 이하의 값이 없을 경우에는 0.1이 아닌 0. 이렇게 표시가 되는데, 이 때 RTRIM을 사용하여 .을 없애주면 된다.

SELECT TO_CHAR(0, 'FM999.99') AS ABB
     , RTRIM(TO_CHAR(0, 'FM999.99'), '.') AS AB
  FROM DUAL;

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기