SQL Server分组后拼接字符串,CONCAT函数需要
相关示例代码
WITH sqlt
AS (SELECT a.PlaceCode,
b.AcupointName
FROM ITEM_Place_Correlation a
LEFT JOIN ITEM_Acupoint b ON a.AcupointCode = b.AcupointCode
AND b.isDeleted = 0),
sqlt2
AS (SELECT PlaceCode,
STUFF(
(
SELECT ', ' + AcupointName
FROM sqlt
WHERE(PlaceCode = it2.PlaceCode) FOR XML PATH(''), TYPE
).value('(./text())[1]', 'VARCHAR(MAX)'), 1, 2, '') AS AcupointNames
FROM sqlt it2
GROUP BY PlaceCode)
SELECT *
FROM sqlt2;
以下仅为凑字数
https://docs.microsoft.com/zh-cn/sql/t-sql/functions/concat-transact-sql?view=sql-server-ver16
CONCAT:此函数以端到端的方式返回从串联或联接的两个或更多字符串值生成的字符串. 参数string_value要与其他值串联的字符串值。 CONCAT函数需要至少两个CONCAT参数,且不能超过 254 string_value参数。
CONCAT 采用可变数量的字符串自变量,并将它们串联(或联接)成单个字符串。 需要至少两个输入值;否则 CONCAT 将引发错误。 CONCAT 在串联前会将所有自变量隐式转换为字符串类型。 CONCAT 会将 Null 值隐式转换为空字符串。 如果 CONCAT 接收所有 CONCAT 值的参数,则它将返回类型为 varchar (1) 的空字符串。 隐式转换为字符串的过程遵循现有的数据类型转换规则。 有关数据类型转换的详细信息,请参阅CAST 和 CONVERT (SQL) 。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。