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

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

高质量的代码就是对程序自己最好的注释。当你打算要添加注释时,问问自己,“我如何能改进编码以至于根本不需要添加注释?”改进你的代码,然后才是用注释使它更清楚。
原文地址:https://www.cnblogs.com/endy-blog/p/3620187.html