sql >> Base de Datos >  >> RDS >> Sqlserver

Eliminar final:carácter de una fila en una tabla SQL

Puede usar STUFF función que reemplaza partes de una cadena. En este caso, es el último carácter.

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

O use IZQUIERDA, tomando todas menos la última. La condición COL> '' asegura que LEFT tendrá una longitud válida. IZQUIERDA es un atajo en SQL Server y parece estar implementado como SUBCADENA ( ver más abajo)*

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

Si tiene datos con y sin el punto y coma final, puede orientarlos específicamente

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

Este es el plan de consulta para una consulta con IZQUIERDA (solo se muestran las 3 líneas superiores del plan de texto)

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