今天做报表的时候,第一次接触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, 开始日期,结束日期); --两日期间隔秒
但是业务的需求是取两个日期之间的小时数,且保留最后一位小数,经过查找相关的资料,决定采用如下的方法
1
|
CAST (datediff( minute , trac.operate_time,mpda.operate_time)/60.0 AS
decimal (9,1)) as
cycleDate
|
这样的话就满足了业务的需求了。