【发布时间】:2017-07-18 03:01:25
【问题描述】:
我需要查询以获取十进制值的总小时数
这是我目前的查询:
declare @start as time;
declare @end as time;
declare @total as decimal(18, 2);
set @start = '17:00:00'
set @end = '18:30:00'
set @total = datediff(minute, @start, @end)/60
print @total
查询给我整数值,尽管@total 参数是小数。 我不知道如何得到十进制值。
请帮帮我,提前谢谢你。
【问题讨论】:
-
试试 /60.0 这将提供所需的精度
-
非常感谢您,先生,您给我的代码就像一个魅力!
-
不客气。
-
Datediff 返回一个整数。当你将它除以一个整数 (60) 时,你会得到一个整数。如果您希望结果为小数,则需要根据@JohnCappelletti 的评论除以小数(例如 60.0)
标签: sql sql-server decimal datediff