2015-04-20 111 views
0

我有一個名爲表時,Mysql的替換字符串:k01cv_sh404sef_urls 這個表裏面我們有以下行:需要查詢

id, cpt, rank, oldurl, newurl and dateadd 

行「OLDURL」包含條目的如:

English/network 
English/hardware-and-software 
corporate-social-responsibility 

我想要一個查詢,將英文/部分從「oldurl」行中的所有項目中刪除,以便英文/網絡只是網絡,英文/硬件和軟件將是硬件和軟件,等等。

其結果將是該行「OLDURL」包含條目的如:

network 
hardware-and-software 
corporate-social-responsibility 

回答

1

你可以逃脫這麼簡單的東西嗎?

UPDATE table SET oldurl = REPLACE(oldurl, 'English/', ''); 

(請測試在真實數據運行之前使用SELECT!)

1
UPDATE k01cv_sh404sef_urls 
SET oldurl = SUBSTRING(oldurl FROM 9) 
WHERE oldurl LIKE 'English/%' 

這將不只是讀/試圖更新僅匹配記錄(這將產生一個特定的性能好處,如果你的表很大,但有一個索引,其中oldurl是最左邊的一列),但也只會去掉出現在字符串開頭的'English/'

+0

謝謝,這完美的作品。 我也有一些網址如 nl/nederlands/hardware-en-software 我想刪除/ nederlands /部分。我怎樣才能做到這一點? – gijs007