【发布时间】:2015-08-28 12:40:14
【问题描述】:
我正在创建一个拆分字符串的函数。我想将函数传递给一个字符串并取回几行(行数将是动态的,具体取决于字符串的长度)。
我正在考虑可能使用表函数并将其加入到我的查询中。
我不要求为我编写此内容,我只是想知道这在 SQL Server 2014 中是否可行,如果可行,最好的方法是什么。
所以字符串 'ABC' 将返回为:
COL1 COL2 COL3
A B C
【问题讨论】:
-
是的 - 它被称为Table-valued function。
-
是的,这就是我一直在看的,我在上面提到过。是否可以用于拆分字符串并在单独的列中动态返回每个字符?
-
否 - 列必须是静态的。不过,您可以返回多个 行 - 请参阅我的答案。
-
@DStanley 当然可以,但你可能需要动态 SQL。
-
@SQLPolice 当然不能——不是来自表值函数。它返回的列是定义的一部分。来自MSDN:“RETURNS 子句还定义了表格的格式。”
标签: sql sql-server-2014 sql-function