1 頁 (共 1 頁)

[問題] 請教一個關於 SQL 語法的問題

發表於 : 2006-03-03 12:50
依夢兒
這裡有提到在 phpMyAdmin 中以特定字串取代原來資料的方法:
http://phpbb-tw.net/phpbb/viewtopic.php?p=42303#42303

例如:
update phpbb_posts_text set post_text=REPLACE(post_text,'台灣','美國') where post_text LIKE '%台灣%';

但是假設眾多文章裡面有很多類似這樣的字串:

[color=blue:817b6f9782]

這一些字串都是 [color=blue: 開頭,但是後面的英數字(也就是紅色的部分)是不固定的,而我想將這樣的字串置換為



的話,請問 SQL 語法該怎麼下呢?

發表於 : 2006-03-03 14:25
Mac
後面那個是 bbcode 的 uid 耶,你確定要移掉嗎?

如果真的要拿掉,可能是用 Perl 寫個 regular expression 來刪掉會比較好

~Mac

發表於 : 2006-03-03 17:42
依夢兒
Mac 寫:後面那個是 bbcode 的 uid 耶,你確定要移掉嗎?
嗯,我只是舉例而已,請放心,我當然知道 uid 不能夠拿掉。^^"

Mac 寫:如果真的要拿掉,可能是用 Perl 寫個 regular expression 來刪掉會比較好
不太懂,在 MySQL 下沒有辦法作到嗎?

發表於 : 2006-03-03 18:51
~倉木麻衣~
MySQL裡雖然也有Regular Expression, 但翻了一下, 似乎都是與WHERE合用
而且MySQL的REPLACE不接受Regular Expression的寫法

http://dev.mysql.com/doc/refman/4.1/en/ ... ching.html
http://dev.mysql.com/doc/refman/4.1/en/regexp.html
http://dev.mysql.com/doc/refman/4.1/en/ ... tions.html

發表於 : 2006-03-24 01:27
chiouss
~倉木麻衣~ 寫:MySQL裡雖然也有Regular Expression, 但翻了一下, 似乎都是與WHERE合用
而且MySQL的REPLACE不接受Regular Expression的寫法
有一個想法,用 php 去挖 mysql 裡面的資料出來,然後用 php 裡面的 regular expression func 去改,再塞回去 mysql 裡面,不知道可不可行?

這樣做好像和用 perl 沒兩樣就是了 :Q