在程序中需要使用通知系统,为了得到加入在组织后的通知,所以必须进行时间的检查,但是测试发现,当日加入的组织的通知无法看到,经查资料发现原来是函数使用错误。
在Mysql中DateDiff()只能比较两个时间的天数差,这一点和sqlserver不同,要计算具体的时间差,必须使用Timediff
例子如下:
select NoticeId,SenderUid,Title,SenderOrg,Date
from b_Notice
where (NoticeId not in (select NoticeId from b_notice_p where uid=2))
and
(ScopeType=3
or (Receivers like '%,张三,%')
or ( ((ReceiverOrg like '%,14,%') and Timediff(now(), "2011/11/17 13:26:16")>0)
or ((ReceiverOrg like '%,4,%') and Timediff(now(), "2011/11/17 13:26:16")>0 and not OnlyManage)
or ((ReceiverOrg like '%,2,%') and Timediff(now(), "2011/11/17 21:10:46")>0 and not OnlyManage))