Vous pouvez utiliser le STUFF fonction qui remplace des parties d'une chaîne. Dans ce cas, il s'agit du dernier caractère.
UPDATE tbl
SET COL = stuff(COL, len(COL), 1, '')
WHERE COL > ''
Ou utilisez GAUCHE, en prenant tout sauf le dernier. La condition COL> '' garantit que LEFT aura une longueur valide. LEFT est un raccourci dans SQL Server et semble être implémenté en tant que SUBSTRING ( voir plus bas)*
UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE COL > ''
Si vous avez à la fois des données avec et sans le point-virgule final, vous pouvez les cibler spécifiquement
UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE RIGHT(COL,1) = ':'
Voici le plan de requête pour une requête utilisant LEFT (seules les 3 premières lignes du plan de texte sont affichées)
select LEFT(text, LEN(text)-1), * from master..syscomments