--try
if @publishdate IS NOT NULL and @publishdate <>'' 
begin 
set @sqlStr=' and PublishDate= '+ Convert(varchar(10),@publishdate,120)
end

解决方案 »

  1.   

    set @sqlStr=@sqlStr+' and PublishDate>='''+Convert(varchar(10),@publishdate,120)+''' and publishdate < '''+Convert(varchar(10),@publishdate+1,120)+''''
      

  2.   


    print(@sqlStr)
    看一下你的@sqlStr 最後是什麽語句.然後執行一下這個語句,看是否符合你的要求
      

  3.   

    我试过两位的方法,都不太对。数据库里面的PublishDate字段的格式都为2009-2-26 17:38:01,而我前台选取日期的格式一定是2009-02-02,是否需要对数据库里面的PublishDate字段的格式做一下处理,求解!
      

  4.   

    非常感谢pl_mm 和ks_reny,结合两位的方法,又进行了调试,终于OK,可以去结贴了!同时也非常感谢给予此问题关注的人!