有没有简单的方法可以使用SQL比较两个时间值?
例如,我想比较如下: -
07:45> = 04:45
答案 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'。