存储过程代码如下,请问各位大虾,为什么运行的时候就发生
从字符串转换为 datetime 时发生语法错误
这个错误
在线等!!CREATE PROCEDURE sp_DepotCount
 @Adddate1 DateTime,@AddDate2 DateTime,@GoodsType Varchar(20),@DepotName varchar(50)
AS
  declare @s_type varchar(50),@s_depot varchar(50)
  if @GoodsType = ''
  begin
    set @s_type = ''
  end 
  else
  begin
     set @s_type = ' and goodstype like ' + @GoodsType + '%'
  end
  if @DepotName = ''
  begin
    set @s_depot = ''
  end
  else
  begin
     set @s_depot = ' and depotname = ' + @DepotName
  end
  select s_end.goodscode,startnumber,startmoney,innumber,inmoney,outnumber,outmoney,endnumber,endmoney from
  ((select goodscode,sum(number * [sign]) as endnumber,sum(number * [sign] * inprice) as endmoney from s_billdetail where adddate <= convert(varchar(10),@adddate2,120)+ @s_type + @s_depot group by goodscode) as s_end
  left join (select goodscode,sum(number * [sign]) as startnumber,sum(number * [sign] * inprice) as startmoney from s_billdetail where adddate < convert(varchar(10),@adddate1,120) + @s_type + @s_depot group by goodscode) as s_start on s_end.goodscode = s_start.goodscode
  left join (select goodscode,sum(number * [sign]) as innumber,sum(number * [sign] * inprice) as inmoney from s_billdetail where [sign]=1 and adddate >= convert(varchar(10),@adddate1,120) and adddate <= convert(varchar(10),@adddate2,120) + @s_type + @s_depot group by goodscode) as s_in on s_end.goodscode = s_in.goodscode
  left join (select goodscode,sum(number * [sign]) as outnumber,sum(number * [sign] * inprice) as outmoney from s_billdetail where [sign]=-1 and adddate >= convert(varchar(10),@adddate1,120) and adddate <= convert(varchar(10),@adddate2,120) + @s_type + @s_depot group by goodscode) as s_out on s_end.goodscode = s_out.goodscode)
GO