Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Rimuovi trailing :carattere da una riga in una tabella SQL

Puoi utilizzare STUFF funzione che sostituisce parti di una stringa. In questo caso, è l'ultimo carattere.

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

Oppure usa SINISTRA, prendendo tutto tranne l'ultimo. La condizione COL> '' assicura che LEFT abbia una lunghezza valida. LEFT è un collegamento in SQL Server e sembra essere implementato come SUBSTRING ( vedi più sotto)*

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

Se hai entrambi i dati con e senza il punto e virgola finale, puoi sceglierli come target in modo specifico

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

Ecco il piano di query per una query che utilizza SINISTRA (vengono visualizzate solo le prime 3 righe del piano di testo)

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