2012-03-08 119 views
1

我有這樣的價值觀在我的專欄:/1/0/101.00_1234.jpg在MySQL中使用通配符或正則表達式替換?

現在我想用別的東西來代替/ 1/0。問題是,它可能會逐行不同。它也可以是/ h/a。我怎麼能沒有任何額外的工具呢?

感謝

+0

將刪除前4個字符解決問題?或者你可以像'/ ab/cd'那樣需要刪除的值? – 2012-03-08 08:51:50

+0

@Derek Tomes:我敢打賭,這只是通過不同目錄分離文件的常見實現,所以有4個字符的常量 – zerkms 2012-03-08 08:54:38

回答

2

最有可能你只需要更換前4個字符,所以使用SUBSTRINGCONCAT功能:

CONCAT('/a/b', SUBSTRING(colunm_name, 4)) 
1

編寫一個存儲的函數,用於在字段內容中搜索最右邊的「/」,並刪除該位置之前的所有字符。然後使用這個存儲的函數來更新字段。 這是一個「額外的工具」 - ?在這種情況下,使用內聯函數(未測試)

RIGHT(fieldname,LENGTH(fieldname) - LOCATE('/', reverse(fieldname))