我正在尝试将一个基于MySQL的应用迁移到Microsoft SQL Server 2005(这不是我的选择,但这就是生活)。
在原始应用程序中,我们几乎完全使用符合ANSI-SQL的语句,但有一个重要的例外--我们经常使用MySQL的group_concat
函数。
顺便说一下,group_concat
可以做到这一点:给定一个员工姓名和项目的表格...
SELECT empName, projID FROM project_members;
返回:
ANDY | A100
ANDY | B391
ANDY | X010
TOM | A100
TOM | A510
...这就是使用group_concat得到的结果:
SELECT
empName, group_concat(projID SEPARATOR ' / ')
FROM
project_members
GROUP BY
empName;
返回:
ANDY | A100 / B391 / X010
TOM | A100 / A510
那么我想知道的是:是否可以在SQL Server中编写用户定义函数来模拟group_concat
的功能?
我几乎没有使用UDF、存储过程或类似内容方面的经验,只是直接使用SQL,所以请尽可能详细地解释: