CREATE procedure Ground_table @Ye varchar(10), @Stcode varchar(10)
as
declare @i int,@str varchar(1000),@count int, @name varchar(50
...
select @avg =avg('+@name+') from base_groundwater where year(ye) = @ye and stcode = @stcode and @name >'0'
...
就是avg()函数里的列是参数
我这样些 报 avg函数不能以varchar数据类型作为参数
as
declare @i int,@str varchar(1000),@count int, @name varchar(50
...
select @avg =avg('+@name+') from base_groundwater where year(ye) = @ye and stcode = @stcode and @name >'0'
...
就是avg()函数里的列是参数
我这样些 报 avg函数不能以varchar数据类型作为参数
不然怎么求平均值
Avg
返回在某一集合上对数值表达式求得的平均值。语法
Avg(«Set»[, «Numeric Expression»])
怎么写啊?
@Ye varchar(10),
@Stcode varchar(10),
@avg 类型 output
as
declare @i int,
@str varchar(1000),
@count int,
@name varchar(50)
--此处不再定义@avg
...
exec('select '+@avg+' =avg('+@name+') from base_groundwater where year(ye) = '+@ye+' and stcode = '+@stcode+' and '+@name+' >''0'''
直接把 exec 的结果 赋给 @avg