Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Entfernen Sie nachgestellte Leerzeichen in einem Feldinhalt

Sind Sie sicher, dass die Abfrage nicht funktioniert? Versuchen Sie:

SELECT TOP 100 '~'+ t.notes +'~'
  FROM TABLE1 t

TOP 100 begrenzt die Ergebnisse auf die ersten 100 Zeilen, genug, um eine Vorstellung davon zu bekommen, ob die Ausgabe wirklich ein Leerzeichen enthält. Wenn dies der Fall ist und RTRIM/LTRIM es nicht entfernt, haben Sie es nicht mit einem Leerzeichen zu tun. Versuchen Sie in diesem Fall:

UPDATE TABLE1
  SET notes = REPLACE(notes, 
                      SUBSTRING(notes, PATINDEX('%[^a-zA-Z0-9 '''''']%', notes), 1), 
                      '')
WHERE PATINDEX('%[^a-zA-Z0-9 '''''']%', notes) <> 0