sql >> データベース >  >> RDS >> Sqlserver

SQL Update Replace ステートメント

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

    または、置換する特定の番号の場合は、さらに簡単になります:

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

    1. MySQLでのIPv6アドレスの保存

    2. MySQL LIKE IN()?

    3. PostgresのUPDATEにDELETEからの戻り値を使用する

    4. SQLで、SELECT * FROM ...から結果を除外するにはどうすればよいですか?