소수점 숫자 TO_CHAR로 변환 0 2 2,070

by 파랑비 [2011.06.23 18:48:56]



소수점인 값을 문자열로 변환 시키려합니다.
이때 값이 0.9라면 TO_CHAR로 바꾸면 .9 가 되더군요
그래서 알아보니 FM9999.0 과같이 형식 정해주면 된다는데

이경우 0.0 을 입력하면 0. 까지 . 이 들어가더군요

0.123 이면 0.123이 들어가고
0.0 이면 0이 들어가는 변환법이 없을까요?
by 知音 [2011.06.24 07:55:40]
case 나 decode 활용하시면 될 것 같네요..

by 마농 [2011.06.24 08:06:02]
WITH t AS
(
SELECT 0.9 v FROM dual
UNION ALL SELECT 0 FROM dual
UNION ALL SELECT 0.123 FROM dual
UNION ALL SELECT 123456789.0123456789 FROM dual
)
SELECT v
, RTRIM(TO_CHAR(v, 'fm9999999999990.99999999999999'), '.') r
, CASE WHEN v < 1 AND v > 0 THEN '0' END || TO_CHAR(v) r
FROM t
;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입