如何从sql server中的数据表的列中获取字符串数据

时间:2012-02-09 14:07:36

标签: sql-server sql-server-2008

您好我想在选择查询中将&#x0A转换为&#x0D&#x0A

SELECT TOP 1  
 @F0 = ID,  
 @F1 = MessageSource,  
 @F2 = MessageID,  
 @F3 = MessageText  
FROM [dbo].[sample_MESSAGE]  
WHERE MessageStatus = 'FR' and MessageSource=@Param1   -- VALID  --Lavanya

SELECT @F0 AS F0, @F1 AS F1, @F2 AS F2, replace(@F3,'
','
') AS F3  
FOR XML RAW

但它没有取代我指定的值,任何人都可以在此建议我

2 个答案:

答案 0 :(得分:1)

也许你的意思是:

  … REPLACE(@F3, CHAR(10), CHAR(13) + CHAR(10)) AS F3 …

或者这个:

  … REPLACE(@F3, NCHAR(10), NCHAR(13) + NCHAR(10)) AS F3 …

取决于@F3varchar还是nvarchar

答案 1 :(得分:0)

有效:

DECLARE @F0 INT, @F2 INT, @F1 INT, @F3 VARCHAR(MAX)
SELECT 
 @F0 = 1,  
 @F1 = 2,  
 @F2 = 3,  
 @F3 = '
'  


SELECT @F0 AS F0, @F1 AS F1, @F2 AS F2, replace(@F3,'
','
') AS F3  
FOR XML RAW

所以

你必须找出文本数据中的不良内容。如果文字包含代码为10的字符,则不应让REPLACE查找字符串'
'CHAR(10)替换为CHAR(10)_CHAR(13)而不是