2013-05-13 42 views
0

刪除字符我試圖刪除數據庫中的每名name_一部分,name_誤在30名對象插入到數據庫和現在。如果我從db中刪除manuelly,它需要我很多時間。SQL - 從對象的所有名稱數據庫

一個例子是:name_john。它應該是john

如何刪除這個name_從數據庫中的所有對象的所有名字與一些SQL語句?

+1

您是在談論列名稱或列值? – Adam 2013-05-13 20:38:55

+0

@Adam,列值 – doniyor 2013-05-13 20:42:13

回答

1

如果這是有關您需要修改列值,你可以使用REPLACE()功能是這樣的:

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

這將消除columnnamename_所有條目。如果可以有不超過一個條目(或者如果只有一個需要被刪除),它的位置是固定的,你可以使用INSERT()函數來代替,其中,儘管它的名字,也可以替換和刪除子。這是你如何使用它如果name_位置是如在開始處:

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

如果它是你可以用update語句做列值。

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