起因:项目上查询一些数据,需要将查询后的结果合并到一列中。
1.STUFF函数
官方api: https://docs.microsoft.com/zh-cn/sql/t-sql/functions/stuff-transact-sql?view=sql-server-2017
STUFF 函数将字符串插入到另一个字符串中。 它从第一个字符串的开始位置删除指定长度的字符;然后将第二个字符串插入到第一个字符串的开始位置。
语法:STUFF ( character_expression【原string】, start【开始位置】 , length 【长度】, replaceWith_expression 【要插入的string】)
示例:
SELECT STUFF('abcdef', 2, 3, 'ijklmn'); GO
结果集--------- aijklmnef
2.PATH 模式通过 SELECT 查询生成 XML,简单使用
官方api:https://docs.microsoft.com/zh-cn/sql/relational-databases/xml/examples-using-path-mode?view=sql-server-2017
SELECT ProductModelID, Name FROM Production.ProductModel
WHERE ProductModelID=122 OR ProductModelID=119 FOR XML PATH;
结果:
STUFF函数和 PATH 模式 结合使用的案例: https://bbs.csdn.net/topics/392425148