2010-01-12 12 views
7

Tengo un grupo de campos varchar (255) y varchar (max) en una tabla en MS SQL Server.Convierta " n" a nueva línea real en SQL Server

Estos son generalmente mensajes formateados (correo electrónico y otros). La mayoría de los campos tienen los caracteres reales "\ n", pero en realidad necesitan un carácter de nueva línea. No necesito preocuparme por los datos nuevos en el futuro, pero no sé cómo arreglar las cosas que están actualmente en la base de datos.

Soy principalmente un programador, no un tipo SQL/DB, por lo que cualquier sugerencia sobre cómo abordar la solución de este problema, o los recursos para comenzar me agradecerán.

Respuesta

12

esto debe hacer el truco

UPDATE 
    <tablename> 
SET 
    <fieldname> = replace(<fieldname>,'\n',char(13)+char(10)), 
    <otherfieldname> = replace(<otherfieldname>,'\n',char(13)+char(10)) 
+0

Gaby, perfecto. ¡Gracias! – Kylar

2

Este:

print replace('Line 1\nLine 2','\n',char(13)) 

producirá:

Line 1 
Line 2 
1

Creo que busca char (13) ...

select 'hi' + char(13) + 'there' 

Puede reemplazar \ n en sentencias de selección ...

select replace('hi\nthere', '\n', char(13)) 

O puede hacer una actualización ...

update table set str = replace(str, '\n', char(13)) 
Cuestiones relacionadas