+ -
当前位置:首页 → 问答吧 → mySQL支持在update中用正则表达式吗?

mySQL支持在update中用正则表达式吗?

时间:2011-10-01

来源:互联网

我想把字段内容中的
如下内容HTML code
[url=http://www.aaa.com/viewthread.php?tid=317&page=1#pid5302][attach]886[/attach][/url]


替换成

[attach]886[/attach]

正则表达式应该可以支持的? 但是不清楚怎么弄,有没有兄弟给些建议???
字符串分解效率有些差。

就是想用下面的语句更新
update table set message = replace(....)这样的语句

作者: ttjacky   发布时间: 2011-10-01

MYSQL中目录只支持正则匹配,不支持正则提取。

你的这个需要,如果格式固定,则可以到第二个[ 到第三个] 之间的记录。可以通过一些字符串函数实现。 但如果格式不固定则只能写程序或者存储过程实现。

作者: ACMAIN_CHM   发布时间: 2011-10-01

SQL code
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>

作者: ACMAIN_CHM   发布时间: 2011-10-01

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]'))

作者: WWWWA   发布时间: 2011-10-01

格式不固定,拆分字符串

作者: wwwwb   发布时间: 2011-10-01

相关阅读 更多