declare @sql nvarchar(2000)
set @sql=N'
select @SumPageBalance=SUM(Balance) from webuser where (webuserid not in (select top '+cast(@Start as varchar)+' webuserid from webuser order by webuserid)) AND (webuserid in (select top '+cast(@Last as varchar)+' webuserid from webuser order by webuserid))
'exec sp_executesql @sql,N'@SumPageBalance numeric(28,8) output',@SumPageBalance output
set @sql=N'
select @SumPageBalance=SUM(Balance) from webuser where (webuserid not in (select top '+cast(@Start as varchar)+' webuserid from webuser order by webuserid)) AND (webuserid in (select top '+cast(@Last as varchar)+' webuserid from webuser order by webuserid))
'exec sp_executesql @sql,N'@SumPageBalance numeric(28,8) output',@SumPageBalance output
select @SumPageBalance=SUM(Balance) from webuser where (webuserid not in (select top '+ltrim(@Start ) webuserid from webuser order by webuserid)) AND (webuserid in (select top '+ltrim(@Last)+' webuserid from webuser order by webuserid))
exec(@SqlQuery)
先把@SqlQuery改为nvarchar
declare @SqlQuery nvarchar(3000) set @SqlQuery='select @SumPageBalance=SUM(Balance) from webuser where (webuserid not in (select top'+ LTRIM( STR(@Start))+' webuserid from webuser order by webuserid)) AND (webuserid in (select top'+ LTRIM( STR(@Last))+' webuserid from webuser order by webuserid))'
exec sp_executesql @SqlQuery,N'@SumPageBalance float output',@SumPageBalance output