以下是我的代码.
DECLARE @msg NVARCHAR(MAX) = NULL
;WITH CTE AS (
SELECT 'A' AS Message
UNION
SELECT 'B' AS Message
UNION
SELECT 'C' AS Message
UNION
SELECT 'D' AS Message
)
SELECT @msg = COALESCE(ISNULL(@msg,'Attachements') + ', ','') + Message FROM CTE
SELECT @msg + ' are missing.'
Run Code Online (Sandbox Code Playgroud)
它正在产生输出: -
Attachments, A, B, C, D are missing.
Run Code Online (Sandbox Code Playgroud)
我怎么能避免在" Attachments" 之后的第一个逗号?请帮忙.
其他满足要求的技术也是受欢迎的.
谢谢.
而不是使用未记录/不支持的串联字符串方式,FOR XML PATH而是使用:
DECLARE @msg NVARCHAR(MAX) = NULL
;WITH CTE AS (
SELECT 'A' AS Message
UNION
SELECT 'B' AS Message
UNION
SELECT 'C' AS Message
UNION
SELECT 'D' AS Message
)
SELECT @msg = 'Attachments ' +
STUFF((
SELECT ', ' + Message
FROM CTE
ORDER BY Message
FOR XML PATH(''), TYPE).value('.[1]', 'NVARCHAR(MAX)')
, 1, 2, ' ')
SELECT @msg + ' are missing.'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
513 次 |
| 最近记录: |