日期:2014-05-16 浏览次数:21103 次
[url=http://www.aaa.com/viewthread.php?tid=317&page=1#pid5302][attach]886[/attach][/url]
mysql> set @x='[url=http://www.aaa.com/viewthread.php?tid=317&page=1#pid5302][at tach]886[/attach][/url]'; Query OK, 0 rows affected (0.00 sec) mysql> select substring_index(substring_index(@x,']',-4),'[',3); +---------------------------------------------------+ | substring_index(substring_index(@x,']',-4),'[',3) | +---------------------------------------------------+ | [attach]886[/attach] | +---------------------------------------------------+ 1 row in set (0.00 sec) mysql>
------解决方案--------------------
MYSQL不支持正则替换,假设格式固定(只有2个[attach])
SET @a='=http://www.aaa.com/viewthread.php?tid=317&page=1#pid5302][attach]886[/attach]';
SELECT RIGHT(@a,LENGTH(@a)-INSTR(@a,'[attach]'))
------解决方案--------------------
格式不固定,拆分字符串
------解决方案--------------------
你导出来成文本的 用awk和sed处理
------解决方案--------------------
建议先把那个字段(或者相关的记录)先读取出来,然后使用编程语言进行替换,然后对每个记录依次更新。
如果使用mysql的处理函数来直接进行更新,那会很慢的,而且无法使用索引。
------解决方案--------------------
录入的时候要规范,处理起来简单一些