sql server 日期的相减 取小时数且保留最后一位

今天做报表的时候,第一次接触SqlServer 所以不知道如何查询两个日期之间相差的小时,查询网络结果如下:

1 select datediff(year, 开始日期,结束日期);     --两日期间隔年
2 select datediff(quarter, 开始日期,结束日期); --两日期间隔季
3 select datediff(month, 开始日期,结束日期); --两日期间隔月
4 select datediff(day, 开始日期,结束日期); --两日期间隔天
5 select datediff(week, 开始日期,结束日期); --两日期间隔周
6 select datediff(hour, 开始日期,结束日期); --两日期间隔小时
7 select datediff(minute, 开始日期,结束日期); --两日期间隔分
8 select datediff(second, 开始日期,结束日期); --两日期间隔秒

但是业务的需求是取两个日期之间的小时数,且保留最后一位小数,经过查找相关的资料,决定采用如下的方法

CAST(datediff(minute, trac.operate_time,mpda.operate_time)/60.0 AS decimal(9,1)) as cycleDate

  这样的话就满足了业务的需求了。

posted @ 2014-03-24 09:34  endy_zhu  阅读(4179)  评论(0编辑  收藏  举报