분을 시간으로 변환하고 소수점 이하 2 자리로 반올림해야하며 소수점 뒤에 최대 2 개의 숫자 만 표시하면됩니다. 그래서 650 분이 있다면 시간은 10.83이어야합니다.
여기까지 내가 가진 것입니다 :
Select round(Minutes/60.0,2) from ....
그러나이 경우 내 분이 630 인 경우 시간은 10.5000000입니다. 그러나 10.50으로 만 원합니다 (반올림 후). 어떻게하면 되나요?
분을 시간으로 변환하고 소수점 이하 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
SELECT ROUND(630/60.0, 2);
나에게 준다 10.50
.
cast(630/60.0 as numeric(36,2))
enougth10,50
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'
다음 쿼리는 유용하고 간단합니다.
declare @floatExchRate float;
set @floatExchRate=(select convert(decimal(10, 2), 0.2548712))
select @floatExchRate
출력을 0.25로 제공합니다.
전화 번호를 Numeric
또는Decimal
.
다음과 같이 쿼리를 바꾸십시오.
SQL Server
Select Convert(Numeric(38, 2), Minutes/60.0) from ....
MySql :
Select Convert(Minutes/60.0, Decimal(65, 2)) from ....
Cast
함수의 래퍼 Convert
함수. SQL을 해석 언어로 사용하면 결과는 두 함수가 동일한 결과를 생성하더라도 함수에서 약간 더 뒤쳐져 있다는 것입니다 Cast
. 이 Convert
기능을 사용하면 적은 비용을 절약 할 수 있지만 적은 비용으로도 절약 할 수 있습니다.
다음 스 니펫이 도움이 될 수 있습니다.
select SUBSTR(ENDDTTM,1, 9), extract(DAY FROM (ENDDTTM)), ENDDTTM, BEGINDTTM, (ENDDTTM - BEGINDTTM),substr(BEGINDTTM, 1,15), substr((ENDDTTM - BEGINDTTM), 12, 8),
round((substr((ENDDTTM - BEGINDTTM), 12, 2)* 3600 + substr((ENDDTTM - BEGINDTTM), 15, 2)*60 + substr((ENDDTTM - BEGINDTTM), 18, 2)),2) as seconds,
round((substr((ENDDTTM - BEGINDTTM), 12, 2)* 60 + substr((ENDDTTM - BEGINDTTM), 15, 2) + substr((ENDDTTM - BEGINDTTM), 18, 2)/60 ), 2)as minutes,
round((substr((ENDDTTM - BEGINDTTM), 12, 2) + substr((ENDDTTM - BEGINDTTM), 15, 2)/60 + substr((ENDDTTM - BEGINDTTM), 18, 2)/3600 ),2) as hours