将float转换为varchar时遇到问题,并且总是四舍五入。举个例子
如果我转换:0.65变成1,但是我只想要0 1.55变成2,但是我只想要1
这是我的代码:
Declare @Dt1 dateTime Set @Dt1 = '2014-03-05 10:15:53.110'
Declare @Dt2 dateTime Set @Dt2 = getdate()
Select str((Cast((@Dt2 - @Dt1) as Float) * 24.0)) as hours1 ,
str(Cast((@Dt2 - @Dt1) as Float) * 24.0*60.0)%60 as minutes1
转换时是否可以避免舍入?
你尝试过ROUND
方法吗?但是,以下SQL可能满足您的要求:
Select str((Cast((@Dt2 - @Dt1) as Float) * 24.0)) as hours1 ,
str(ROUND(Cast((@Dt2 - @Dt1) as Float) * 24.0*60.0, 0, 1))%60 as minutes1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句