我在MS SQL Server的表中有一堆varchar(255)和varchar(max)字段。将“ n”转换为SQL Server中的实际换行符
这些通常是格式化的消息(电子邮件和其他)。大多数字段都有实际的字符“\ n”,但实际上需要一个换行符。我不需要担心未来的新数据,但不知道如何修复当前数据库中的内容。
我大多是程序员,而不是SQL /数据库的人,所以任何关于如何解决这个问题的方法或资源让我开始,将不胜感激。
我在MS SQL Server的表中有一堆varchar(255)和varchar(max)字段。将“ n”转换为SQL Server中的实际换行符
这些通常是格式化的消息(电子邮件和其他)。大多数字段都有实际的字符“\ n”,但实际上需要一个换行符。我不需要担心未来的新数据,但不知道如何修复当前数据库中的内容。
我大多是程序员,而不是SQL /数据库的人,所以任何关于如何解决这个问题的方法或资源让我开始,将不胜感激。
这应该做的伎俩
UPDATE
<tablename>
SET
<fieldname> = replace(<fieldname>,'\n',char(13)+char(10)),
<otherfieldname> = replace(<otherfieldname>,'\n',char(13)+char(10))
此:
print replace('Line 1\nLine 2','\n',char(13))
会产生:
Line 1
Line 2
我相信你正在寻找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))
加比,完美的。谢谢! – Kylar 2010-01-12 02:35:33