下面是我的代码。
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.'
它正在生成输出:-
Attachments, A, B, C, D are missing.
如何避免单词后第一个逗号“Attachments
“ ? 请帮忙。
满足要求的其他技术也将受到欢迎。
Thanks.
而不是使用未记录/不受支持的字符串连接方式 https://sqlblog.org/2011/03/08/t-sql-tuesday-16-this-is-not-the-aggregate-youre-looking-for, use 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.'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)