我有200条记录,其HoleID名称从MGGC0001到MGGC0200。但是我想用MEGC更改MGGC和sql数据库中的所有记录。您能告诉我我可以用来更新带有MEGC前缀的所有HoleID的查询吗?
谢谢!
关于, 迪内什
答案 0 :(得分:1)
只需使用REPLACE
SELECT REPLACE(HOLELID, 'MGGC', 'MEGC')
FROM tbl;
但这不会更改您的任何现有数据。 在这种情况下,请使用:
UPDATE tbl
SET HOLELID = REPLACE(HOLELID, 'MGGC', 'MEGC');
答案 1 :(得分:0)
我强烈推荐一种更像这样的方法:
update t
set HoleId = stuff(HoleId, 1, 4, 'MEGC')
where HoleId like 'MGGC%';
首先,这仅影响以'MGGC'开头的行,而不是所有行。其次,这只会在字符串开头而不是字符串中的任何位置替换“ MGGC”。
或者是select
:
select (case when HoleId like 'MGGC%'
then stuff(HoleId, 1, 4, 'MEGC')
else HoleId
end)