【问题标题】:Convert "\n" to actual newline in SQL Server在 SQL Server 中将“\n”转换为实际的换行符
【发布时间】:2010-01-12 02:23:17
【问题描述】:
我在 MS SQL Server 的一个表中有一堆 varchar(255) 和 varchar(max) 字段。
这些通常是格式化的消息(电子邮件和其他)。大多数字段都有实际字符“\n”,但实际上需要换行符。我不需要担心未来的新数据,但不知道如何修复当前在数据库中的东西。
我主要是一名程序员,而不是 SQL/DB 专家,因此任何关于如何解决此问题的指示或帮助我入门的资源都将不胜感激。
【问题讨论】:
标签:
c#
sql
sql-server
database
【解决方案1】:
这应该可以解决问题
UPDATE
<tablename>
SET
<fieldname> = replace(<fieldname>,'\n',char(13)+char(10)),
<otherfieldname> = replace(< otherfieldname >,'\n',char(13)+char(10))
【解决方案2】:
这个:
print replace('Line 1\nLine 2','\n',char(13))
将产生:
Line 1
Line 2
【解决方案3】:
我相信您正在寻找 char(13)...
select 'hi' + char(13) + 'there'
您可以在 select 语句中替换 \n...
select replace('hi\nthere', '\n', char(13))
或者您可以进行更新...
update table set str = replace(str, '\n', char(13))