0

有没有办法使用单个查询执行更新以规范化字段?

例子:

UPDATE person SET name = REPLACE(name, 'á', 'a');
UPDATE person SET name = REPLACE(name, 'é', 'e');
UPDATE person SET name = REPLACE(name, 'í', 'i');
UPDATE person SET name = REPLACE(name, 'ó', 'o');
UPDATE person SET name = REPLACE(name, 'ú', 'u');
4

2 回答 2

1

您可以链接替换调用,因此可以在单个查询中完成:

UPDATE person SET name = REPLACE(REPLACE(REPLACE(name, 'á', 'a'), 'é', 'e'), 'í', 'i')

但这很快就变成了无法维护的混乱局面。如果您只是想用它们的非重音等价物替换重音字符,那么字符集更改可能会更有用。

于 2012-03-22T15:24:55.973 回答
0

如果您想替换所有字母,那么像这样替换你们都在谈论会变得一团糟。您可以制作一个包含两个列的表格,例如第一列由“á”和第二个“a”组成,整个表格类似。然后制作一个程序来获取新表的每一行,然后完成替换。

于 2012-03-23T07:03:47.837 回答