sql - 从数据库中的所有对象名称中删除char

时间:2013-05-13 20:37:48

标签: mysql sql database

我正在尝试删除数据库中每个名称的name_部分,name_被错误地插入到db中,现在在30个对象名中。如果我从db删除manuelly,它需要我很多时间。

一个例子是:name_john。它应该是john

如何使用某些sql语句从db中所有对象的所有名称中删除此name_

2 个答案:

答案 0 :(得分:3)

如果是列值,则可以使用更新语句来执行此操作。

UPDATE table_reference
SET column_reference = SUBSTRING(column_reference, 6)
WHERE column_reference LIKE 'name\_%' ESCAPE '\'

答案 1 :(得分:1)

如果这是您需要修改的列值,您可以使用REPLACE()函数,如下所示:

UPDATE tablename
SET columnname = REPLACE(columnname, 'name_', '')
WHERE columnname LIKE '%name\_%' ESCAPE '\'
;

这会删除name_columnname的所有条目。如果只有一个条目(或者只需要删除一个条目)并且其位置是固定的,则可以使用INSERT()函数,尽管它的名称可以替换和删除子字符串。如果name_的位置为例如,您就可以使用它在开始时:

UPDATE tablename
SET columnname = INSERT(columnname, 1, 5, '')
WHERE columnname LIKE 'name\_%' ESCAPE '\'
;