Art*_*t F 29 sql t-sql sql-server
我在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,
Run Code Online (Sandbox Code Playgroud)
此列在某些条目之后生成一些奇怪的符号,例如This approach is satisfactory .
.我不明白它的.
来源.我SELECT SelectedComments FROM #StudentDetails在此之前尝试过,我没有看到.
.任何人都可以告诉它可能来自哪里?
Tho*_*mas 50
如果您修改了对For Xml Path的使用,它将为您执行unescaping,您无需使用Replace函数:
, Stuff(
(
Select '; ' + IsNull( D2.SelectedComments, '' )
From #StudentDetails As D2
Where D2.Stud_PK = A.Stud_PK
And D2.CourseNo = A.CourseNo
And D2.Section = A.Section
For Xml Path(''), type
).value('.', 'nvarchar(max)')
, 1, 2, '') As SelectedComments
Run Code Online (Sandbox Code Playgroud)
是回车.您可以在插入数据之前清理数据,将其删除,或者,如果要保留格式,请将SELECT添加到SELECT的末尾:
SELECT * FROM MyData FOR XML PATH(''), TYPE
Run Code Online (Sandbox Code Playgroud)