sql 음수 반올림 함수 1 1 1,548

by 질문자 [Oracle 기초] [2021.06.03 10:25:11]


안녕하세요.

오라클 sql 음수 반올림 질문드립니다.

ROUND(-2.5) 면 -2가 나와야 정상인데, -3이 나오더라구요.

ROUND(-2.1) 면 -3 , ROUND(-2.9) 면 -2가 나와야 되잖아요?

음수의 경우 반올림해서 정상적으로 나올 수 있게 처리할 수 있는 방법이 있나요 ?

CEIL 이나 FLOOR 같이 올림, 버림이 아닌 음수의 정상적인 반올림 처리방법이 궁금합니다.

 

by 마농 [2021.06.03 13:17:20]
WITH t AS
(
SELECT 1 v FROM dual
UNION ALL SELECT  0.9 FROM dual
UNION ALL SELECT  0.7 FROM dual
UNION ALL SELECT  0.5 FROM dual
UNION ALL SELECT  0.3 FROM dual
UNION ALL SELECT  0.1 FROM dual
UNION ALL SELECT  0.0 FROM dual
UNION ALL SELECT -0.1 FROM dual
UNION ALL SELECT -0.3 FROM dual
UNION ALL SELECT -0.5 FROM dual
UNION ALL SELECT -0.7 FROM dual
UNION ALL SELECT -0.9 FROM dual
UNION ALL SELECT -1.0 FROM dual
)
SELECT v
     , ROUND(v)             round_original
     , ROUND(v + 999) - 999 round_new
  FROM t
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입