Database/SQL

[Oracle] 숫자 0.5 문자 변환 시 ".5" ? "0.5" 로 표시하기

헹창 2020. 6. 20.
반응형

[Oracle] 숫자 0.5 문자 변환 시 ".5" ? "0.5" 로 표시하기

 

 

TO_CHAR를 사용하여 숫자인 0.5를 문자로 변환하면 ".5"로 소수점 이상이 0일 경우 점(.)으로만 표시되어 변한된다.

FM (FORMAT) 옵션을 활용하여 변환할 수치 값의 포맷을 설정해보자.

 

 

- FM9990.99

① 9 : 해당 자리의 숫자를 의미한다.

     - 값이 없을 경우 소수점 이상은 공백, 소수점 이하는 0으로 표시한다.

 

② 0 : 해당 자리의 숫자를 의미한다.

    - 값이 없을 경우 0으로 표시하며 숫자의 길이를 고정적으로 표시할 때 주로 사용한다.

 

③ FM : 좌우 9로 치환된 소수점 이상의 공백 및 소수점 이하의 0을 제거한다.

 

 

 

- 예제

 

SELECT TO_CHAR(0.50, 'FM9990.99')
  FROM SYS.DUAL

 

 

 

 

 

SELECT TO_CHAR(0.50, '99.999')
  FROM SYS.DUAL

- FM을 넣지 않을 경우 소수점 이상의 숫자는 공백, 소수점 이하 숫자는 0으로 표시된다.

 

 

 

 

 

SELECT TO_CHAR(0.50, 'FM99.999')
  FROM SYS.DUAL

- 9는 가변적인 값이어서 0이거나 숫자가 존재하지 않을 시 값을 버린다.

 

 

 

 

 

SELECT TO_CHAR(0.50, 'FM900.000')
  FROM SYS.DUAL

- 0은 해당 값의 길이가 고정적으로 변환이 된다

변환된 숫자의 길이를 일정하게 맞추고 싶으면 길이만큼 0으로 채우면 된다.

 

 

 

 

 

 

SELECT TO_CHAR(1000.50, 'FM900.000')
  FROM SYS.DUAL

- 변환될 숫자의 길이보다 포맷의 길이가 작으면 오류가 발생한다.

포맷을 지정 시 변환될 숫자의 길이보다 최대 개수만큼 또는 0을 채워야 한다.

 

 

 

728x90
반응형

댓글

추천 글