declare @count integer declare @skid varchar(3000) declare @svalue integer declare @evalue integer declare @city varchar(6) declare @str varchar(4000)set @str ='select @count=count(si_no) from shipinfo where (year(getdate())-si_builddate between @svalue and @evalue) and si_addresscode like rtrim(@city)+''%'' and si_flag=''否'' and si_shipkind in (@skid)' exec sp_executesql @str ,N'@count integer out , @skid varchar(3000) , @svalue integer , @evalue integer , @city varchar(6)' ,@count out,@skid,@svalue,@evalue,@cityselect 结果=@count
set @str ='select '+@count+'=count(si_no) from shipinfo where (year(getdate())-si_builddate between '+@svalue+' and '+@evalue+') and si_addresscode like rtrim('''+@city+'%'+''' and si_flag='否' and si_shipkind in ('''+@skid+''')'exec(@str)
to : zjcxc(邹建) 我把你的复制了下。。declare @skid varchar(5000) declare @count integer declare @city varchar(6) declare @svalue integer declare @evalue integer declare @str varchar(6000)set @city ='2805' set @skid = ' ''01'',''0101'',''010307''' set @svalue =1111111 set @evalue =9999999 set @str ='select @count=count(si_no) from shipinfo where (year(getdate())-si_builddate between @svalue and @evalue) and si_addresscode like rtrim(@city)+''%'' and si_flag=''否'' and si_shipkind in (@skid)' exec sp_executesql @str ,N'@count integer out , @skid varchar(3000) , @svalue integer , @evalue integer , @city varchar(6)' ,@count out,@skid,@svalue,@evalue,@city print @count错误如下:服务器: 消息 214,级别 16,状态 2,过程 sp_executesql,行 15 过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。 怎么处理?to:: hdhai9451(※★開拓者...前進☆※) 语句有问题了。
declare @skid varchar(3000)
declare @svalue integer
declare @evalue integer
declare @city varchar(6)
declare @str varchar(4000)set @str ='select @count=count(si_no) from shipinfo where (year(getdate())-si_builddate between @svalue and @evalue) and si_addresscode like rtrim(@city)+''%'' and si_flag=''否'' and si_shipkind in (@skid)'
exec sp_executesql @str
,N'@count integer out
, @skid varchar(3000)
, @svalue integer
, @evalue integer
, @city varchar(6)'
,@count out,@skid,@svalue,@evalue,@cityselect 结果=@count
我把你的复制了下。。declare @skid varchar(5000)
declare @count integer
declare @city varchar(6)
declare @svalue integer
declare @evalue integer
declare @str varchar(6000)set @city ='2805'
set @skid = ' ''01'',''0101'',''010307'''
set @svalue =1111111
set @evalue =9999999
set @str ='select @count=count(si_no) from shipinfo where (year(getdate())-si_builddate between @svalue and @evalue) and si_addresscode like rtrim(@city)+''%'' and si_flag=''否'' and si_shipkind in (@skid)'
exec sp_executesql @str
,N'@count integer out
, @skid varchar(3000)
, @svalue integer
, @evalue integer
, @city varchar(6)'
,@count out,@skid,@svalue,@evalue,@city print @count错误如下:服务器: 消息 214,级别 16,状态 2,过程 sp_executesql,行 15
过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。
怎么处理?to:: hdhai9451(※★開拓者...前進☆※) 语句有问题了。
declare @str nvarchar(4000)