Tengo una columna en la base de datos (SQL Server 2005) que tiene datos con un "\ 0" al final. Al realizar consultas en SQL Server, este carácter no es visible y "parece" que no existe. Cuando miro en mi código C#, el personaje está allí. Este personaje está causando un error en nuestro sitio web, y lo necesitamos eliminar de todas las filas afectadas.Servidor sql - Eliminar el carácter de cadena final " 0" De los datos
¿Existe una consulta SQL que pueda escribir para eliminar fácilmente este carácter de todos los registros que se ven afectados? Puedo obtener todos los registros afectados, pero no tengo una forma de actualizar el registro a un nuevo valor (sin el "\ 0").
ACTUALIZACIÓN: Esto parece funcionar:
Select * from TABLE
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0
Así:
Update TABLE
SET naughtyField = SUBSTRING(naughtyField, 1, LEN(naughtyField) - 1)
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0
Entonces, ¿cómo puedo hacer esto? La respuesta de Will no es correcta, pero su ayuda me llevó a mi solución. – Martin
Si Will mueve su comentario sobre el uso de 'SUBSTRING (naughtyfield, 1, LEN (naughtyfield) - 1)' en su respuesta que debería resolver el problema? –
Sí ... aunque su respuesta es más elegante, no creo que pueda crear una función en la base de datos Prod solo para esta "solución rápida". Demasiado papeleo. – Martin