2012-08-10 5 views
3

나는 다른 반응을 보았음에도 불구하고 십진수로 변환하는 데 몇 분의 문제가 있습니다. 1.86와 같은 수의 대신 2.00, 4.00, 5.00, 3.99, 5.03 등의DATEDIFF가 십진수로 변환됩니다.

select cast(datediff(minute, min(start_time), min(complete_time)) as decimal (10,10)) 
from TRACKED_OBJECT_HISTORY TOH1 
where TOH1.op_name = 'Assembly' 

결과를 반환하지만, 난 항상 얻을 결과. 나는 사실 (나는 또한 쓸모없는 변환 기능을 시도한) 후에 변환 것 같아요. 이견있는 사람?

답변

7

Datediff는 부동 소수점 또는 숫자가 아닌 정수를 반환합니다.

select cast(datediff(second, min(start_time), min(complete_time))/60.0 as decimal (10,10)) 
from TRACKED_OBJECT_HISTORY TOH1 where TOH1.op_name = 'Assembly' 
: 분할

, 당신이 원하는 것을 얻으려면 아마 당신은 다음 초 DIFF을하고해야