안녕하세요?
궁금한점이 있어서 이렇게 질의를 올립니다.
소수점 자리를 계산할때
round( *** , 3) 과 as numeric(38,3) 을 했을때의 차이점을 알고싶습니다.
현재 조금 난해한 소스를 분석중인데...
해당 소스로 동일 조건에서 저런방법으로 기술되어 있어...
다음부분이 좀 문제가 있지 않을까 염려스러워서...
이렇게 질의올립니다.
ROUND(X, Y) : X의 값을 Y번째에서 반올림한 값을 반환합니다
TRUNC(X, Y) : X의 값을 Y번째에서 버림한 값을 반환합니다
이런 함수들은 기존 자리수를 유지하면서 숫자에 대해 반올림하거나 버림을 합니다.
예들들어,
ROUND(123456.123456, 3) 하면 소수 3째자리에서 반올림하라는 것이고 결과는 123456.123000 입니다. 반올림은 하되 자릿수는 그대로 인것을 알 수 있을 것입니다.
반면 numeric(38,3)은 38짜리 숫자에서 소수점 이하는 3째자리까지만 유효하다는 숫자의 범위를 정의한 것입니다.
예를들어
select cast( round(123456.123456, 3) as numeric(38,3) ) from db_root와 같은 질의를 수행하면 결과는 123456.123 입니다. 소수점 이하를 3자리로 유지한 것을 알 수 있을 것입니다.
도움이 되었길 바랍니다.
>안녕하세요?
>
>궁금한점이 있어서 이렇게 질의를 올립니다.
>소수점 자리를 계산할때
>round( *** , 3) 과 as numeric(38,3) 을 했을때의 차이점을 알고싶습니다.
>현재 조금 난해한 소스를 분석중인데...
>해당 소스로 동일 조건에서 저런방법으로 기술되어 있어...
>다음부분이 좀 문제가 있지 않을까 염려스러워서...
>이렇게 질의올립니다.