Ich habe eine Spalte in der Datenbank (SQL Server 2005), die Daten mit einem " \0 " am Ende. Bei der Abfrage in SQL Server ist dieses Zeichen nicht sichtbar und "scheint" nicht zu existieren. Wenn ich in meinem C#-Code nachsehe, ist das Zeichen da. Dieses Zeichen verursacht einen Fehler auf unserer Website, und wir müssen es aus allen betroffenen Zeilen entfernen.
Gibt es eine Sql-Abfrage, die ich schreiben kann, um dieses Zeichen aus allen betroffenen Datensätzen zu entfernen? Ich kann alle betroffenen Datensätze abrufen, aber ich habe keine Möglichkeit, den Datensatz auf einen neuen Wert zu aktualisieren (ohne das " \0 ").
UPDATE: Dies scheint zu funktionieren:
Select * from TABLE
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0
Also:
Update TABLE
SET naughtyField = SUBSTRING(naughtyField, 1, LEN(naughtyField) - 1)
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0