[sql] SQL-소수점 2 자리로 반올림

분을 시간으로 변환하고 소수점 이하 2 자리로 반올림해야하며 소수점 뒤에 최대 2 개의 숫자 만 표시하면됩니다. 그래서 650 분이 있다면 시간은 10.83이어야합니다.

여기까지 내가 가진 것입니다 :

Select round(Minutes/60.0,2) from ....

그러나이 경우 내 분이 630 인 경우 시간은 10.5000000입니다. 그러나 10.50으로 만 원합니다 (반올림 후). 어떻게하면 되나요?



답변

결과를 캐스트 할 수 numeric(x,2)없습니까? 어디x <= 38

select
    round(630/60.0,2),
    cast(round(630/60.0,2) as numeric(36,2))

보고

10.500000   10.50


답변

SQL Server 2012와 마찬가지로 내장 형식 함수를 사용할 수 있습니다 .

SELECT FORMAT(Minutes/60.0, 'N2')

(추가 정보는 …)


답변

당신이 사용할 수있는

select cast((630/60.0) as  decimal(16,2))


답변

Declare @number float = 35.44987665;
Select round(@number,2) 


답변

CAST(QuantityLevel AS NUMERIC(18,2))


답변

DECLARE @porcentaje FLOAT

SET @porcentaje = (CONVERT(DECIMAL,ABS(8700)) * 100) / CONVERT(DECIMAL,ABS(37020))

SELECT @porcentaje


답변

postgresql과 Oracle 모두에서 작동

SELECT ename, sal, round(((sal * .15 + comm) /12),2)
FROM emp where job = 'SALESMAN'