用SQL语句判断两个时间 差>24小时
ASP.NET里面有两个时间time1time2用SQL语句判断这两个时间差>24小时的代码怎么写?...
ASP.NET里面 有两个时间 time1 time2 用SQL语句判断这两个时间差>24小时的代码怎么写?
展开
4个回答
展开全部
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
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
展开全部
DATEDIFF(hour, time1 , time2 )> 24
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询