0

我试图删除name_数据库中每个名称的一部分,name_错误地插入到数据库中,现在插入了 30 个对象名称。如果我从 db 中手动删除,我会花费很多时间。

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

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

4

2 回答 2

3

如果它是列值,您可以使用更新语句来完成。

UPDATE table_reference
SET column_reference = SUBSTRING(column_reference, 6)
WHERE column_reference LIKE 'name\_%' ESCAPE '\'
于 2013-05-13T20:50:52.727 回答
1

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

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

name_这将删除in 的所有条目columnname。如果最多只能有一个条目(或者如果只需要删除一个)并且它的位置是固定的,则可以使用该INSERT()函数代替,尽管它的名称,它也可以替换和删除子字符串。name_如果 的位置在开头,这就是您可以使用它的方式:

UPDATE tablename
SET columnname = INSERT(columnname, 1, 5, '')
WHERE columnname LIKE 'name\_%' ESCAPE '\'
;
于 2013-05-13T21:04:31.410 回答