Ich habe eine Spalte in der Datenbank (SQL Server 2005), die Daten mit einem "\ 0" am Ende hat. Bei der Abfrage in SQL Server ist dieses Zeichen nicht sichtbar und scheint nicht zu existieren. Wenn ich in meinen C# -Code schaue, ist der Charakter da. Dieses Zeichen verursacht auf unserer Website einen Fehler und wir müssen es aus allen betroffenen Zeilen entfernen.Sql Server - Entfernen Ende Zeichenkette Zeichen " 0" Von Daten
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
So:
Update TABLE
SET naughtyField = SUBSTRING(naughtyField, 1, LEN(naughtyField) - 1)
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0
Also, wie mache ich das? Wills Antwort ist nicht korrekt, aber seine Hilfe hat mich zu meiner Lösung geführt. – Martin
Wenn Will seinen Kommentar über die Verwendung von SUBSTRING (naughtyfield, 1, LEN (naughtyfield) - 1) in seine Antwort bewegt, die das Problem lösen sollte? –
Ja ... obwohl Ihre Antwort eleganter ist, glaube ich nicht, dass ich nur für diese "schnelle Lösung" eine Funktion in der Prod-Datenbank erstellen kann. Zu viel Papierkram. – Martin