
mssql的datadiff对时间的计算很不严谨啊,
select DATEDIFF(hour, '20110101 00:22:00' , '20110102 00:00:00' ) 你看看,这样也是24小时,
但其实是23小时多差22分钟,也就是说,这个计算的过程是忽略分和秒的影响的,看你的程序的要求了,如果只看小时,就可以,如果要考虑分钟或秒 ,直接是不行的
精确的比较要分两个部分,就是年月日一个部分,时间一个部分
年月日 分别看 年是否相同,月是否相同,这两个如果不同则肯定>24小时,在看日是否相同,如果日相同肯定<=24小时,如果日不同 ,select DATEDIFF(dd, '20110101 00:22:00' , '20110102 00:00:00' ) 是否>=2,如果满足也肯定>24小时,如果=1 就比较麻烦,还要在判断 时分秒 ,
因为 select DATEDIFF(hh, '2011/01/01 00:22:00' , '2011/01/02 00:55:00' ) =24
select DATEDIFF(hh, '2011/01/01 00:22:00' , '2011/01/02 00:00:00' ) =24
to_char(sysdate,'yyyymmhh24') between '20090110' and '20090112'
oracle中可以这样做,我想mysql中也差不多的处理方式吧
希望对你有用
以上就是关于用SQL语句判断两个时间 差>24小时全部的内容,包括:用SQL语句判断两个时间 差>24小时、mssql 查询每天的某个时间段、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)