【发布时间】:2016-02-16 20:53:17
【问题描述】:
我目前有一个 db 表,其中列出了员工及其权利,如下所示:
User Groups
Johnson DB~LB~AP
Doe DB~PLA
我需要一个能够列出所有用户和所有关联组的解析函数,如下所示:
User Groups
Johnson DB
Johnson LB
Johnson AP
Doe DB
Doe PLA
我能够找到这个很棒的解析函数 (http://sqlfool.com/2011/05/string-parsing-function/),但我无法为用户列表运行它。我可以一次为一个用户运行解析功能,但我不知道如何通过此功能运行用户列表。
非常感谢任何帮助!
【问题讨论】:
-
那个解析器有两个相当小的性能问题。它使用了一个不理想的递归 cte。更大的问题是它是一个多语句表值函数,其性能通常比标量函数差。看看这篇文章有几个更好的选择。 sqlperformance.com/2012/07/t-sql-queries/split-strings
标签: sql sql-server string-parsing