[MySQL] 取代部份字串問題
Jan 16th, 2008 by appleboy 參觀者:2,178Views 機器人:469Views
剛剛在 ptt 遇到之前當兵的工作同事,話說他要去中華電信工作了,還真是不錯,他在 database 版問一個取代的問題,然後我幫他找一下答案,解決了,這可以用 sql 語法解決,或者是用程式都可以
問題:
在MySQL
我有大約50000筆資料 有個欄位像這樣
0040000001~0040050000
現在因故要把 004改成005
變成像這樣
0050000001~0050050000
我的解法:
UPDATE `test` SET `test` = CONCAT( '005', SUBSTRING( `test` , 4 ) ) WHERE
SUBSTRING( `test` , 1, 3 ) = '004'
SUBSTRING( `test` , 1, 3 ) = '004'
有更快解法嗎?
REPLACE 好像不行,因為後面數字也會被改到,不過還是主要用 SUBSTRING
Random View
