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

Sql 如何将值数组传递给Sybase(15.x)中的函数,sql,sybase,user-defined-functions,sap-ase,Sql,Sybase,User Defined Functions,Sap Ase,在Sybase ASE(15.x)中,Sybase似乎省略了函数median(),而典型的sum()、min()、max()、count()等。。。都有 因此,我想我可以创建一个UDF(用户定义函数)来填补这个空白。我看到一些UDF获取值(或固定值集)并返回值的示例;像这个: 不幸的是,我没有看到任何函数将值数组作为参数的示例。我看到了将所有值连接成一个长字符串并传递该字符串的丑陋做法,但我宁愿尝试探索一种更干净的方法。我还可以要求调用函数的任何东西将数据插入到一个预定的tmp表中,然后该表就可

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

因此,我想我可以创建一个UDF(用户定义函数)来填补这个空白。我看到一些UDF获取值(或固定值集)并返回值的示例;像这个:

不幸的是,我没有看到任何函数将值数组作为参数的示例。我看到了将所有值连接成一个长字符串并传递该字符串的丑陋做法,但我宁愿尝试探索一种更干净的方法。我还可以要求调用函数的任何东西将数据插入到一个预定的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()

谢谢Parado,但我一直在寻找一种更方便的方法,这样我就可以像这样使用它了。从MyTable中选择中值(col1)、中值(col2)、中值(col3),其中有些=condition@jeromeso你应该知道sybase没有数组,所以我的代码可能是唯一的解决方案。谢谢@parado,你是对的。您是否有使用基于Java(与基于SQL)的UDF的经验?