0에 관해서는 소수점 2 자리로 반올림하고 싶을 때마다 반올림하고 싶지 않습니다 ... 끝에 0이 있으면 어떻게 소수점 2 자리로 반올림하여 92.00이 아닌 92.00이 될 수 있습니까?
SELECT ROUND(COLUMN_NAME,2) FROM ....
그것은 나에게
COLUMN_NAME
92
하지만 난
COLUMN_NAME
92.00
TO_CHAR를 사용했는데 작동했습니다.
ROUND(TO_CHAR(COLUMN_NAME),2)
고마워요!
쿼리에서 서식을 지정하지 않도록 하세요. 데이터를 원시 형식으로 반환하고 받는 애플리케이션(예: 리포팅 서비스 또는 최종 사용자 앱)에서 반올림 등의 서식을 지정하도록 해야 합니다.
서버에서 데이터의 서식을 지정하면 데이터를 추가로 처리하기가 더 어려워지거나 불가능해집니다. 일반적으로 테이블을 내보내거나 합계, 평균 등과 같은 일부 집계를 수행하려고 합니다. 숫자는 문자열(varchar)로 도착하기 때문에 일반적으로 추가 처리를 쉽게 할 수 있는 방법이 없습니다. 일부 보고서 디자이너는 이러한 '숫자'를 집계하는 옵션을 제공하지 않기도 합니다.
또한 최종 사용자는 자신의 PC가 아닌 서버의 국가별 형식을 보게 됩니다.
또한 반올림 문제도 고려하세요. 서버에서 값을 반올림한 후에도 일부 계산을 수행하면(클라이언트가 숫자 문자열을 다시 숫자로 되돌릴 수 있다고 가정할 때) 잘못된 결과를 얻을 수 있습니다.