@startTime varchar(50),
@endTime varchar(50)
定义了两个字符串参数然后在存储过程中的一段代码没有执行,如下:
if(@startTime !=null and @endTime !=null)
begin
set @condition = @condition+' AND (AddTime Between '+cast(@startTime as datetime)+' AND '+CAST(@endTime AS datetime)+')'
end请问:判断方法写错了,还是字符串转换时出的错呀???
有知道的朋友请告知一声哈~!

解决方案 »

  1.   

    if(@startTime !=null and @endTime !=null) 
    -->null与任何值的比较都是未知
    if (@tartTime is not null) and (@endTime is not null)
      

  2.   

    if(ISNULL(@startTime,'') !='' and ISNULL(@endTime,'') !='') 
      

  3.   

    你的语句是动态的,是一串字符,你怎么能把datetime型的数据加到字符型的语句上,应该把datime改成字符型的
    cast(时间 as nvarchar(20))
      

  4.   

    if(isnull(@startTime) !='' and isnull(@endTime) !='') 
    begin 
    ...
    end