Du kan använda SAKER funktion som ersätter delar av en sträng. I det här fallet är det det sista tecknet.
UPDATE tbl
SET COL = stuff(COL, len(COL), 1, '')
WHERE COL > ''
Eller använd VÄNSTER, ta alla utom den sista. Villkoret COL> '' säkerställer att LEFT har en giltig längd. LEFT är en genväg i SQL Server och verkar vara implementerad som SUBSTRING ( se vidare nedan)*
UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE COL > ''
Om du har både data med och utan det avslutande semikolonet kan du rikta in dem specifikt
UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE RIGHT(COL,1) = ':'
Här är frågeplanen för en fråga som använder VÄNSTER (endast de tre översta raderna i textplanen visas)
select LEFT(text, LEN(text)-1), * from master..syscomments