日期:2014-05-18 浏览次数:20474 次
CREATE TABLE tsgss(id varchar(20),a int) INSERT tsgss SELECT '0001',1 UNION ALL SELECT '0002',3 UNION ALL SELECT '0003',66 UNION ALL SELECT '0004',34 UNION ALL SELECT '0005',6 UNION ALL SELECT '0006',45 UNION ALL SELECT '0007',23 UNION ALL SELECT '0008',33 UNION ALL SELECT '0009',7 UNION ALL SELECT '0010',9 go CREATE FUNCTION getMid() RETURNS float AS BEGIN DECLARE @s table(id int identity(1,1),a int) DECLARE @g float INSERT @s SELECT a FROM tsgss IF @@ROWCOUNT %2<>0 SELECT @g=a FROM @s WHERE id=(SELECT min(id)+max(id) FROM @s)/2 ELSE SELECT @g=avg(a*1.0) FROM @s WHERE id in(SELECT max(id)/2 FROM @s UNION ALL SELECT max(id)/2+1 FROM @s) RETURN @g END SELECT dbo.getMid()