【发布时间】:2013-05-14 23:38:42
【问题描述】:
我在 SQL Server 中较大的 Select 语句中有以下查询:
CONVERT(NVARCHAR(2000),stuff((SELECT '; ' + IsNull(D2.SelectedComments,'')
FROM #StudentDetails D2
WHERE D2.STUD_PK = A.STUD_PK AND D2.CourseNo = A.CourseNo
AND D2.Section = A.Section
FOR XML PATH('')),1,2,'')) AS SelectedComments,
此列在某些条目(例如This approach is satisfactory .&#x0D)之后生成了一些奇怪的符号。我不明白.&#x0D 来自哪里。我在此之前尝试过SELECT SelectedComments FROM #StudentDetails,但我没有看到.&#x0D。谁能告诉它可能来自哪里?
【问题讨论】:
-
0D 是回车的十六进制:columbia.edu/kermit/ascii.html
-
我认为这是换行和回车。当您将 FOR XML PATH() 添加到您的 Select 语句时,某些对 XML 不友好的字符会被编码,包括换行符和回车符。据我所知,SQL 将输出具有正确编码的有效 XML
标签: sql sql-server tsql