안녕하세요
반올림과 관련한 함수에 관하여 질의가 있어서요..
성적처리 프로그램에 반올림 아래 두가지 반올림 함수가 불규칙적으로 쓰여서 차이점을 알고 싶습니다.
NUMERIC과 ROUND함수인데요..
ROUND는 소수자리수를 유지하고 반올림하는 것이고 NUMERIC은 소수자리수에도 변동이 있다고 이전 답변에서 보았습니다.
예를 들어
ROUND(123.123456, 3) ->123.123000
cast( 123.123456 as numeric(38,3) ) ->123.123
이렇게 나오는 것이 맞지요?
1. 소수자리수를 유지하는 것과 소수자리수를 유지하지 않는 것이 성적처리하는데 서로 다른 성적처리 결과를 만들 수 있는지요? 제 짧은 생각에는 위 두 함수중 어떤 함수를 써도 성적처리결과는 동일할 것 같아서요..
2. 그리고 cast( 123456.123556 as numeric(38,3) ) 이렇게 써도 되는데 굳이
cast( ROUND(123456.123556 ,3) as numeric(38,3) ) 이와같이 ROUND한 것에 NUMERIC을 다시 한번 하는 이유도 알고 싶습니다.
|