更新列的子字符串

use*_*340 17 sql t-sql database where sql-server-2008

我在SQL Server 2008数据库中有一个名为的表Meter.该表有一个名为的列Name.

Name中的每个条目都具有以下前缀ZAA\.我想将此前缀更改为ZAA_不影响列中其余文本.

Dar*_*ren 19

UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name))
WHERE SUBSTRING(Name, 1, 4) = 'ZAA\'
Run Code Online (Sandbox Code Playgroud)

编辑:

或者如@Damien_The_Unbliever所述,使用索引:

UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name))
WHERE Name LIKE 'ZAA\%'
Run Code Online (Sandbox Code Playgroud)

编辑

从您的评论中,尝试使用此语句来修复附加内容\:

UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 5, LEN(Name))
WHERE Name LIKE 'ZAA_\%'
Run Code Online (Sandbox Code Playgroud)