select (cast(datediff(minute,'1900-01-01 07:03:00.000' ,'1900-01-01 10:35:00.000')
as decimal(18,4))/60)
即使小数位设置为4,它也会返回 3.5333333 代替 3.5333
请帮我退回3.5333(小数点后4位)
答案 0 :(得分:4)
将/ 60放在演员表中并将其更改为60.0以获得小数。
select (cast(datediff(minute,'1900-01-01 07:03:00.000' ,'1900-01-01 10:35:00.000')/60.0
as decimal(18,4)))
答案 1 :(得分:1)
你需要在施法前进行划分:
select
cast(datediff(minute, '1900-01-01 07:03:00.000', '1900-01-01 10:35:00.000') / 60.0
as decimal(18,4))
然后你得到:
3.5333
转换为decimal(18,4)
和然后通过60种“无效”格式化进行除法 - SQL Server将再次显示该除法的所有数字精度为... < / p>