Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Remover trailing :caractere de uma linha em uma tabela SQL


Você pode usar o STUFF função que substitui partes de uma string. Neste caso, é o último caractere.
UPDATE tbl
SET COL = stuff(COL, len(COL), 1, '')
WHERE COL > ''

Ou use a ESQUERDA, pegando todas menos a última. A condição COL> '' garante que LEFT terá um comprimento válido. LEFT é um atalho no SQL Server e parece ser implementado como SUBSTRING ( veja mais abaixo)*
UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE COL > ''

Se você tiver dados com e sem o ponto e vírgula à direita, poderá segmentá-los especificamente
UPDATE tbl
SET COL = LEFT(COL, len(COL) -1)
WHERE RIGHT(COL,1) = ':'

Aqui está o plano de consulta para uma consulta usando LEFT (apenas as 3 primeiras linhas do plano de texto são mostradas)
select LEFT(text, LEN(text)-1), * from master..syscomments