我的sql语句是这样的:
SELECT DATEDIFF(hh, TimeIn,OutTime ) AS Hours_Rendered
FROM DTR_TimeRecord
答案 0 :(得分:0)
请注意,DATEDIFF会将字符串文字隐式转换为datetime2类型。这意味着当日期作为字符串传递时,DATEDIFF不支持格式YDM。您必须将字符串显式转换为datetime或smalldatetime类型才能使用YDM格式。
答案 1 :(得分:0)
您的TimeIn和OutTime必须是同一小时。像
TimeIn : '2016-05-17 11:31:33.190'
OutTime: '2016-05-17 11:35:41.790'
select DATEDIFF(HH, '2016-05-17 11:31:33.190', '2016-05-17 11:35:41.790' )
上面的查询总是会给你0。
但是假设你的OutTime是' 2016-05-17 12:35:41.790'
然后
select DATEDIFF(HH, '2016-05-17 11:31:33.190', '2016-05-17 12:35:41.790' )
以上查询将为您提供1。
答案 2 :(得分:0)
这肯定会对您有所帮助
SELECT convert(TIME,dateadd(ms,DateDiff(ss, TimeIn, OutTime )*1000,0),114) AS Hours_Rendered FROM DTR_TimeRecord