CREATE   PROC sp_planlist
AS
DECLARE @SQL2 VARCHAR(5000)
set @sql2=@sql2+' and a.plan_begintime<=convert(varchar(10),getdate(),120) and a.plan_endtime >= convert(varchar(10),getdate(),120)'
...
搜索今日的信息
如果 开始时间为2008-6-27 00:00,结果时间为:2008-6-28 15:30 可以搜索到
但如果开始时间为2008-6-27 14:00,结果时间为:2008-6-28 15:30 就搜索不到.不知为什么

解决方案 »

  1.   

    datediff(dd,a.plan_begintime,getdate())=0 
    and datediff(dd,a.plan_endtime,getdate())=0

    convert(varchar(10),a.plan_begintime,120)=convert(varchar(10),getdate,120) and 
    convert(varchar(10),a.plan_endtime,120)=convert(varchar(10),getdate,120)
      

  2.   

    a.plan_begintime <=convert(varchar(10),getdate(),120) and a.plan_endtime >= convert(varchar(10),getdate(),120)你这句是错误的,条件不全
      

  3.   

    其他你只要结束日期大于 今天的就可能了a.plan_begintime <=convert(varchar(10),getdate(),120) and a.plan_endtime >= convert(varchar(10),getdate(),120)--换成
    a.plan_endtime >= convert(varchar(10),getdate(),120)
     只要判断 结束日期就可以了,这样肯定是有包含今天的信息
      

  4.   

    a.plan_begintime <=convert(varchar(10),getdate(),120)如果 开始时间为2008-6-27 00:00,结果时间为:2008-6-28 15:30 可以搜索到
    刚才开始时间是=2008-6-27 00:00而后面2008-6-27 14:00,就不满足了,所在就查不到数据了
      

  5.   

    谢谢大家,只需要convert(varchar(16),getdate(),120)就行了