소수점인 값을 문자열로 변환 시키려합니다. 이때 값이 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() 버튼을 클릭하여 작성 하시면 됩니다.