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

SQL Update Replace-sætning

; WITH RowSetToUpdate AS ( SELECT acolumn, Asterisk1Pos = CHARINDEX('*', acolumn), Asterisk2Pos = CHARINDEX('*', acolumn, CHARINDEX('*', acolumn) + 1) FROM atable WHERE acolumn LIKE '%*%*%' ) UPDATE RowSetToUpdate SET acolumn = STUFF( acolumn, Asterisk1Pos + 1, Asterisk2Pos - Asterisk1Pos - 1, 'replacement_string' )

Eller hvis det er et bestemt nummer, der skal udskiftes, så ville det være endnu enklere:

UPDATE atable
SET acolumn = REPLACE(acolumn, '*88*', '*replacement_string')
WHERE acolumn LIKE '%*88*%'
 


  1. Tildel samme id til rækker med samme kombination af data

  2. MySQL-forespørgsel - indentiyfing data ved hjælp af URL-navne, hvor data er organiseret i et hieraki

  3. Tjek om sekvensen findes i Postgres (plpgsql)

  4. Sådan bruger du DELETE ON CASCADE på mange-til-en relation