我在 SQL Server 2008 数据库中有一个名为Meter
. 该表有一个名为 的列Name
。
列中的每个条目Name
都有以下前缀ZAA\
。我想将此前缀更改为ZAA_
不影响列中的其余文本。
我在 SQL Server 2008 数据库中有一个名为Meter
. 该表有一个名为 的列Name
。
列中的每个条目Name
都有以下前缀ZAA\
。我想将此前缀更改为ZAA_
不影响列中的其余文本。
UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name))
WHERE SUBSTRING(Name, 1, 4) = 'ZAA\'
编辑:
或者正如@Damien_The_Unbliever 所说,使用索引:
UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 4, LEN(Name))
WHERE Name LIKE 'ZAA\%'
编辑
根据您的评论,请尝试使用此语句来修复附加\
:
UPDATE Meter
SET Name = 'ZAA_' + SUBSTRING(Name, 5, LEN(Name))
WHERE Name LIKE 'ZAA_\%'
MYSQL:
UPDATE Meter
SET Name = CONCAT('ZAA' ,'_', SUBSTRING(Name, 4, LENGTH(Name)))
WHERE Name LIKE 'ZAA\%'
以下是您可以尝试的查询
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;