SET @nvrSql ='SELECT UserID,ReceiveTime,Destination from vwInfo
where Lat>=@top AND Lat<=@bottom AND Long>=@left AND Long<=@right and (DATEDIFF(s, ReceiveTime, GETDATE()) <= 21600)'
if @filterShip<>''
SET @nvrSql=@nvrSql+ ' AND Type in (@filterShip)'if @filterShip=''
EXEC Sp_executesql @nvrSql,N'@top varchar(100),@bottom varchar(100),@left varchar(100),@right varchar(100)',@top,@bottom,@left,@right
else
EXEC Sp_executesql @nvrSql,N'@top varchar(100),@bottom varchar(100),@left varchar(100),@right varchar(100),@filterShip varchar(50)',@top,@bottom,@left,@right,@filterShip这样在执行存储过程时, @filterShip 传入值: '1,2,3,16,7,19,0' 时 总提示
消息 245,级别 16,状态 1,第 1 行
在将 varchar 值 '1,2,3,16,7,19,0' 转换成数据类型 int 时失败。type这个值 不确定,必须得传入参数.
没有传入type这个参数啊
-->
SET @nvrSql=@nvrSql+ ' AND charindex(Type , ''' + @filterShip + ''' ) > 0 '