代码之家  ›  专栏  ›  技术社区  ›  rapha123

如何使用REPLACE函数使用SQL更改这两个单词?

  •  -1
  • rapha123  · 技术社区  · 2 年前

    我正在使用SQL Server和SSMS。我有两个特别的价值观要取代:

    • “南曼彻斯特”至“国王登陆”
    • “Manchester”到“Highgarden”

    我有以下语法:

    UPDATE Correspondence SET [Name] =
    REPLACE(REPLACE([Name], 'Manchester', 'Highgarden') , 'South Manchester',' King’s Landing') 
    

    我最后的名字是“SouthHigarden”。有人知道我如何解决这个问题吗?。

    提前谢谢。

    2 回复  |  直到 2 年前
        1
  •  3
  •   nbk    2 年前

    您只需正确订购更新,这样曼彻斯特就可以最后更新

    CREATE TABLE Correspondence (name varchar(100))
    GO
    
    INSERT INTO Correspondence VALUES ('South Manchester' ),('Manchester' )
    GO
    
    UPDATE Correspondence SET [Name] =
    REPLACE(REPLACE([Name], 'South Manchester',' King’s Landing'), 'Manchester', 'Highgarden') 
    GO
    
    SELECT * FROM Correspondence
    GO
    
    | name              |
    | :---------------- |
    |  King’s Landing |
    | Highgarden        |
    

    数据库(&L)&燃气轮机;不停摆弄 here

        2
  •  0
  •   Desert Eagle    2 年前

    您需要将条件与 WHERE 陈述此外,我注意到您可能没有正确使用引号。

    尝试以下操作:

    UPDATE Correspondence SET [Name] = "King’s Landing"
    WHERE [NAME] = "South Manchester"
    
    UPDATE Correspondence SET [Name] = "Highgarden"
    WHERE [NAME] = "Manchester"  
    

    希望有帮助!