我的表中有一些数据
当我使用此查询选择该数据时
select TblActionHistories.Comments from TblActionHistories WHERE TblActionHistories.Entity=CAST('Task' AS VARCHAR) AND EntityId=CAST(32 AS VARCHAR)
这样就好了
Task- <b>T1</b> has been added by Swapnil Sharma
Task- <b>T1</b> status changed to <b>In Progress</b> by Swapnil Sharma<br/>
但现在我希望使用stuff
将上面的结果#分开,所以我使用这个
SELECT STUFF((SELECT '#' + ISNULL(CAST(TblActionHistories.Comments AS VARCHAR(MAX)),'') FROM TblActionHistories WHERE TblActionHistories.Entity=CAST('Task' AS VARCHAR) AND EntityId=CAST(32 AS VARCHAR) for xml path ('')),1,1,'')
它给了我这个
Task- <b>T1</b> has been added by Swapnil Sharma#Task- <b>T1</b> status changed to <b>In Progress</b> by Swapnil Sharma<br/>
你可以清楚地看到所有的特殊字符。就像 < > 转换为 < >分别
请帮我解决这个问题,我希望它们采用原始格式
最佳答案
我找到了 IvanG 建议的解决方案
SELECT STUFF((SELECT '#' + ISNULL(CAST(TblActionHistories.Comments AS VARCHAR(MAX)),'') FROM TblActionHistories WHERE TblActionHistories.Entity=CAST('Task' AS VARCHAR) AND EntityId=CAST(32 AS VARCHAR) for xml path(''), root('MyString'), type ).value('/MyString[1]','varchar(max)') ,1,1,'')
引用。到这篇文章
http://blogs.lobsterpot.com.au/2010/04/15/handling-special-characters-with-for-xml-path/
关于sql-server-2008 - < 在 sql server 中转换为 <,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12382703/