我在sysjobactivity表中有一个列stop_execution_date。我需要获得仅在凌晨4:10之后运行的工作细节。
我用
尝试了 cast(DATEPART(hour, sja.stop_execution_date) as varchar)+cast(DATEPART(minute, sja.stop_execution_date) as varchar) >410
但是,如果工作在上午9:05完成,则不接受,因为datepart(小时)是9而datepart(分钟)是5.通过使用+我们得到的是95而不是905,这比不到410。 / p>
请你建议我这样做的好方法。
提前致谢
答案 0 :(得分:4)
怎么样:
(DATEPART(hour, sja.stop_execution_date) = 4 and (DATEPART(minute, sja.stop_execution_date) > 10)
OR DATEPART(hour, sja.stop_execution_date) > 4
答案 1 :(得分:4)
可以施展时间。
cast(sja.stop_execution_date as time) > '04:10:00.0000000'
答案 2 :(得分:1)
可以改为使用总分钟:
DATEPART(hour, sja.stop_execution_date)*60 + DATEPART(minute, sja.stop_execution_date) > 250
或CAST( AS TIME)
并比较:
CAST(sja.stop_execution_date as TIME) > '04:10:00'
答案 3 :(得分:0)
使用格式化功能代替CAST:
FORMAT(DATEPART(hour, '2014-09-04 09:05:55'), '00')+
FORMAT(DATEPART(minute, '2014-09-04 09:05:55'), '00') > '0410'