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

Entfernt abschließendes :Zeichen aus einer Zeile in einer SQL-Tabelle

Sie können das MATERIAL verwenden Funktion, die Teile eines Strings ersetzt. In diesem Fall ist es das letzte Zeichen.

UPDATE tbl
SET COL = stuff(COL, len(COL), 1, '')
WHERE COL > ''

Oder verwenden Sie LINKS und nehmen Sie alle bis auf die letzte. Die Bedingung COL> '' stellt sicher, dass LEFT eine gültige Länge hat. LEFT ist eine Abkürzung in SQL Server und scheint als SUBSTRING ( implementiert zu sein siehe weiter unten)*

UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE COL > ''

Wenn Sie sowohl Daten mit als auch ohne abschließendes Semikolon haben, können Sie sie gezielt ansprechen

UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE RIGHT(COL,1) = ':'

Hier ist der Abfrageplan für eine Abfrage mit LEFT (nur die obersten 3 Zeilen des Textplans werden angezeigt)

select LEFT(text, LEN(text)-1), * from master..syscomments