프로그래밍/ORACLE

ORACLE 소수점이하 삭제.

홍짱아아빠 2010. 7. 7. 13:35
반응형

TO_CHAR시 ROUND는 자동으로 처리되니 굳이 쓸 필요없고, '99990.000'처럼 하면 '9'때문에 유효숫자 앞자리에 space가 들어갑니다.

String 갯수는 테이블의 선언된 컬럼사이즈 감안해서 적당히 맞추면 되겠지요...?

'9'는 유효하지 않은 숫자는 space화 하는것이고, '0'은 유효하지 않은 숫자도 '0'을 찍어주는 포맷스트링입니다...'FM'은 변환 뒤 유효문자 앞뒤의 공백을 제거해 주는 포맷스트링입니다...참고하세요~~


이 두 문제는 아래의 포맷스트링을 쓰면 해결됩니다...아래 결과 테스트 해 보세요.


SELECT
  TO_CHAR(0.1234, 'FM999,990.000') AS a
, TO_CHAR(1.2345, 'FM999,990.000') AS b
, TO_CHAR(10.1234, 'FM999,990.000') AS c
, TO_CHAR(110.1234, 'FM999,990.000') AS d
, TO_CHAR(1234.0000, 'FM999,990.000') AS e
FROM dual

반응형