Update substring of a column

前端 未结 3 1627
猫巷女王i
猫巷女王i 2021-01-01 17:03

I have a table within a SQL Server 2008 database called Meter. This table has a column called Name.

Each entry within the column Nam

相关标签:
3条回答
  • 2021-01-01 17:43

    MYSQL:

    UPDATE Meter
    SET Name = CONCAT('ZAA' ,'_', SUBSTRING(Name, 4, LENGTH(Name)))
    WHERE Name LIKE 'ZAA\%'
    
    0 讨论(0)
  • 2021-01-01 17:54
    UPDATE Meter
    SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name))
    WHERE SUBSTRING(Name, 1, 4) = 'ZAA\'
    

    Edit:

    Or as @Damien_The_Unbliever states, to use an index:

    UPDATE Meter
    SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name))
    WHERE Name LIKE 'ZAA\%'
    

    EDIT

    From your comment, try this statement to fix the additional \:

    UPDATE Meter
    SET Name = 'ZAA_' + SUBSTRING(Name, 5, LEN(Name))
    WHERE Name LIKE 'ZAA_\%'
    
    0 讨论(0)
  • 2021-01-01 18:00

    Here is the SQLFiddel Demo

    Below is the Query which you can try

    CREATE TABLE Meter
        ([Name] varchar(7))
    ;
    
    INSERT INTO Meter
        ([Name])
    VALUES
        ('ZAA\001')
    ;
    
    
    select * from Meter;
    
    Update Meter
       set Name = stuff(Name,4,1,'_')
     Where SUBSTRING(Name, 1,4) ='ZAA' + Char(92);
    
    select * from Meter;
    
    0 讨论(0)
提交回复
热议问题