Mam kolumnę w bazie danych (SQL Server 2005), która ma dane z "\ 0" na końcu. Podczas wysyłania zapytań w SQL Server ta postać nie jest widoczna i "nie wydaje się" istnieć. Kiedy patrzę w mój kod C#, postać jest tam. Ta postać powoduje błąd w naszej witrynie i musimy go usunąć ze wszystkich powiązanych wierszy.Serwer Sql - Usuń końcowy ciąg znaków " 0" z danych
Czy istnieje kwerenda sql można napisać, aby łatwo usunąć ten znak ze wszystkich rekordów, których dotyczy? Mogę uzyskać wszystkie rekordy, których dotyczy ten problem, ale nie mam sposobu na zaktualizowanie rekordu do nowej wartości (bez "\ 0").
UPDATE: To wydaje się działać:
Select * from TABLE
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0
Więc:
Update TABLE
SET naughtyField = SUBSTRING(naughtyField, 1, LEN(naughtyField) - 1)
where UNICODE(SUBSTRING(naughtyField, LEN(naughtyField), 1)) = 0
Jak to zrobić? Odpowiedź Willa nie jest prawidłowa, ale jego pomoc doprowadziła mnie do mojego rozwiązania. – Martin
Jeśli Will przesunie swój komentarz dotyczący użycia 'SUBSTRING (naughtyfield, 1, LEN (naughtyfield) - 1)' w swojej odpowiedzi, która powinna rozwiązać problem? –
Tak ... chociaż twoja odpowiedź jest bardziej elegancka, nie sądzę, że mogę utworzyć funkcję w bazie danych Prod tylko dla tej "szybkiej naprawy". Za dużo papierkowej roboty. – Martin