本质上,我希望能够创建一个标量函数,该函数接受可变数量的参数并将它们连接在一起以返回单个 VARCHAR。换句话说,我希望能够在不确定数量的变量上创建折叠并将折叠的结果作为 VARCHAR 返回,类似于 C# 中的 .Aggregate 或 Common Lisp 中的 Concatenate。
我对此类函数的(程序)伪代码如下:
- 定义一个 VARCHAR 变量
- foreach 非空参数将其转换为 VARCHAR 并将其添加到 VARCHAR 变量中
- 返回 VARCHAR 变量作为函数的结果
在 MS-SQL 中有没有一种惯用的方法来做这样的事情?MS-SQL Server 是否有任何类似于 C# 参数/Common Lisp &rest 关键字的东西?
- 编辑 -
是否可以在不使用表值参数的情况下执行类似的操作,以便对函数的调用如下所示:
MY_SCALAR_FUNC('A', NULL, 'C', 1)
而不是每次调用函数时都必须经历设置和插入新临时表的麻烦?