今天做報表的時候,第一次接觸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
這樣的話就滿足了業務的需求了。