如何在sql中仅比较小时和分钟

如何在sql中仅比较小时和分钟,sql,sql-server,sql-server-2008,tsql,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008,Tsql,Sql Server 2008 R2,我在sysjobactivity表中有一列stop\u execution\u 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(

我在sysjobactivity表中有一列stop\u execution\u 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


你能给我一个好方法吗。

可以用总分钟来代替:

DATEPART(hour, sja.stop_execution_date)*60 + DATEPART(minute, sja.stop_execution_date) > 250
CAST(按时间)
并比较:

CAST(sja.stop_execution_date as TIME) > '04:10:00'
那么:

(DATEPART(hour, sja.stop_execution_date) = 4 and (DATEPART(minute, sja.stop_execution_date) > 10)
OR DATEPART(hour, sja.stop_execution_date) > 4
可以演一段时间

cast(sja.stop_execution_date as time) > '04:10:00.0000000'

使用格式函数而不是强制转换:

FORMAT(DATEPART(hour, '2014-09-04 09:05:55'), '00')+
FORMAT(DATEPART(minute, '2014-09-04 09:05:55'), '00') > '0410'

SS 2012中没有引入格式吗?Msg 243,16级,状态1,行1类型时间不是定义的系统类型。我不知道为什么它不起作用。对我来说sql server 2008 R2和2014都正常。第一个正常。谢谢但演员扮演时间不起作用