Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

REPLACE en tipo ntext

Estas en el tema de REPLACE en tipo ntext en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/06/2008, 09:29
Avatar de Ascariz  
Fecha de Ingreso: noviembre-2005
Mensajes: 403
Antigüedad: 19 años
Puntos: 0
REPLACE en tipo ntext

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.
__________________
Desarrollador & Diseñador Web
Diseño de paginas web en Madrid
  #2 (permalink)  
Antiguo 17/06/2008, 01:08
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:12.