如何将值数组传递给Sybase(15.x)中的函数



Sybase似乎省略了Sybase ASE(15.x)中的函数median(),而典型的sum()、min()、max()、count()等都可用。

因此,我想我可以创建一个UDF(用户定义函数)来填补这一空白。我看到一些UDF获取值(或固定值集)并返回值的例子;比如这个:http://www.sypron.nl/udf.html.

不幸的是,我没有看到任何函数将值数组作为参数的例子。我看到了将所有值连接到一个长字符串中并传递的丑陋破解,但我宁愿尝试探索一种更干净的方法。我也可以要求调用函数的任何东西将数据插入到一个预定的tmp表中,然后函数可以读取该表,但这似乎也很丑陋。

有什么建议吗?

您可以使用临时表将其用作数组。考虑以下示例

create table #t
(
  id int
)
insert into #T values (1)    
create function fun
returns int
as
   declare @id int
   select @id = id from #T
   return @id
go
select dbo.fun()

最新更新