sql >> Database >  >> RDS >> Sqlserver

SQL Update Replace-instructie

;
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'
)

Of als het een specifiek nummer is dat moet worden vervangen, dan zou het nog eenvoudiger zijn:

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


  1. Kan een externe sleutel als primaire sleutel fungeren?

  2. PHP MYSQL SUM totaal maar toon rijen

  3. Hoe wijzig ik het gegevenstype van de tabelkolom op meer dan 1 kolom?

  4. Tomcat6 kan geen verbinding maken met MySql (het stuurprogramma heeft geen pakketten van de server ontvangen)