以下sql查询正确连接表的每一行以获取给定的外键PlanId
。但是,CHAR(10) + CHAR(13)
似乎被忽略了。
SELECT PlanID,
STUFF(
(
SELECT CONVERT(NVARCHAR, CONVERT(DATE, CreateTimestamp)) + ' ' + CreateUserID + ': ' + Notes
+ CHAR(13) + CHAR(10)
FROM PlanNotes
WHERE PlanID = OuterNotes.PlanId
ORDER BY UpdateTimestamp DESC
FOR XML PATH(''), TYPE
).value('.', 'nvarchar(max)'),
1,
0,
''
) AS Notes
FROM PlanNotes OuterNotes;
结果输出如下:
2017-12-04 nickh:Nick's Test Notes v2 2017-11-27 bobj:原始日期是2016年6月1日。
我想要的时候:
2017-12-04 nickh:尼克的测试笔记v2
2017-11-27 bobj:原始日期是
答案 0 :(得分:1)
我的猜测是,CHAR(10)
和CHAR(13)
字符实际上确实将其输入到您的输出中,但无论出于何种原因,SSMS或您的特定工具都没有像您期望的那样呈现它们。此处的解决方法可能是将查询输出到文本文件,然后在真正的文本编辑器(例如Notepad ++)中打开。