我有這樣的價值觀在我的專欄:/1/0/101.00_1234.jpg在MySQL中使用通配符或正則表達式替換?
現在我想用別的東西來代替/ 1/0。問題是,它可能會逐行不同。它也可以是/ h/a。我怎麼能沒有任何額外的工具呢?
感謝
我有這樣的價值觀在我的專欄:/1/0/101.00_1234.jpg在MySQL中使用通配符或正則表達式替換?
現在我想用別的東西來代替/ 1/0。問題是,它可能會逐行不同。它也可以是/ h/a。我怎麼能沒有任何額外的工具呢?
感謝
我想嘗試的SUBSTRING_INDEX
關鍵詞:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index
例如:
SUBSTRING_INDEX(myfield, '/', -3)
您可能需要'-1' – zerkms 2012-03-08 09:02:50
最有可能你只需要更換前4個字符,所以使用SUBSTRING
和CONCAT
功能:
CONCAT('/a/b', SUBSTRING(colunm_name, 4))
編寫一個存儲的函數,用於在字段內容中搜索最右邊的「/」,並刪除該位置之前的所有字符。然後使用這個存儲的函數來更新字段。 這是一個「額外的工具」 - ?在這種情況下,使用內聯函數(未測試)
RIGHT(fieldname,LENGTH(fieldname) - LOCATE('/', reverse(fieldname))
將刪除前4個字符解決問題?或者你可以像'/ ab/cd'那樣需要刪除的值? – 2012-03-08 08:51:50
@Derek Tomes:我敢打賭,這只是通過不同目錄分離文件的常見實現,所以有4個字符的常量 – zerkms 2012-03-08 08:54:38