比较两个时间值,它们的形式为HH:MM USING SQL

时间:2014-06-19 05:13:53

标签: sql time comparison-operators

有没有简单的方法可以使用SQL比较两个时间值?

例如,我想比较如下: -

07:45> = 04:45

3 个答案:

答案 0 :(得分:1)

在进行比较之前,您需要将字符串值强制转换为Time,如下所示:

Select * from table where CAST(StartTime As Time) >= CAST(EndTime As Time)

答案 1 :(得分:1)

在sql server中有一个time数据类型,你可以直接使用它。

SELECT CONVERT(TIME,'04:45'+':00')

答案 2 :(得分:-1)

由于您没有指定特定的DBMS,请让它保持通用。将时间值转换为字符串,就像在问题中显示它们一样(24hh:mm [.ss])。任何DBMS都可以这样做,尽管具体方法会有所不同。然后只是比较它们。强制进入零填充的两个char字段,词法比较将产生与算术比较相同的结果。也就是说,

Time( '07:45' ) >= Time( '04:45'24 )

相当于

'07:45' >= '04:45'

那是:true因为ASCII字符' 7'在词法上大于ASCII字符' 4'。