存储过程代码如下,请问各位大虾,为什么运行的时候就发生
从字符串转换为 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
从字符串转换为 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
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html