欢迎投稿

今日深度:

SQL Server分组后拼接字符串,CONCAT函数需要

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) 。

www.htsjk.Com true http://www.htsjk.com/Sql_Server/45157.html NewsArticle 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), sql...
评论暂时关闭