Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/06/2008, 01:08
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: REPLACE en tipo ntext

Cita:
Iniciado por Ascariz Ver Mensaje
Hola a todos estoy intentado remplazar en una columna tipo ntext un texto con el replace pero me dice esto, como puedo hacerlo???

Código:
UPDATE noticias SET [texto] = REPLACE([texto'<','')
Mens. 8116, Nivel 16, Estado 1, Línea 1
El tipo de datos ntext no es válido para el argumento 1 de la función replace.

Al parecer, no se puede hacer eso con los campos tipo ntext. Recomiendan cambiar la naturaleza del campo a varchar, que admite muchos caracteres, pero también sugieren la posibilidad de hacer un cast

UPDATE noticias SET [texto] = REPLACE(CAST(texto as varchar(8000)),'<','')

Como ves, hace el reemplazo previa conversión a varchar de un tamaño de 8000 caracteres. Pero ojo, eso te servirá si no tienes ningún registro con un contenido mayor que 8000. Pues si no es así, lo cortará, claro, a ese tamaño.

No lo he probado, pues trabajo con MySQL y esto parece SQL server. Haz una prueba sobre un solo registro que tenga < con un WHERE referido a su id. Y si todo va bien, prueba a lanzarla luego.

Última edición por jurena; 17/06/2008 a las 01:14