mysql 正则替换的方法 求 mysql 正则替换的方法假如我有一个字段中的内容是 111-(444)-789替换后的结果是 ***-(***)-***如果是数字就替换为*其他不变的输出。我想用 mysql实现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先MYSQL目前还不支持正则替换,只支持正则查找。但应该可以通过一些字符串函数来实现。建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。这样我可以在自己本机帮你做个实验。 select replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@x,'0','*'),'1','*'),'2','*'),'3','*'),'4','*'),'5','*'),'6','*'),'7','*'),'8','*'),'9','*') as nx;mysql> set @x='111-(444)-789';Query OK, 0 rows affected (0.00 sec)mysql> select replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(@x,'0','*'),'1','*'),'2','*'),'3','*'),'4','*'),'5','*'),'6','*'),'7','*'),'8','*'),'9','*') as nx;+---------------+| nx |+---------------+| ***-(***)-*** |+---------------+1 row in set (0.00 sec)mysql> replace不支持正则。这个我有点困惑 SQLSERVER,MYSQL目前都没有直接的正则替换函数,不过MYSQL有正则查找如果你的数据象你这样有规律的话,你可以通过变通使用查找和截取函数来实现 sql求同列前两条记录之差 MYSQL安装到倒数第二步装不下去,下一步点不了? 请大家看看这句sql语句有什么错误?谢谢 我在Red Hat Enterprise AS 3安装了MySQL,但就还是不能正常使用。。。 [求救]linux下连接mysql数据库的问题 请问那里可以找到MYSQL的管理软件 错在那里?连接mysql的问题 mysql影响行数是什么意思? 新手问,MySQL的字符集,可以是GBK吗? 求大牛帮忙解决一个数据库问题,详情见内容,谢谢!!! marked as crashed and should be repaired 错误如何解决呢 求一条mysql的sql语句
Query OK, 0 rows affected (0.00 sec)mysql> select replace(replace(replace(replace(replace(replace(replace(replace(re
place(replace(@x,'0','*'),'1','*'),'2','*'),'3','*'),'4','*'),'5','*'),'6','*'),
'7','*'),'8','*'),'9','*') as nx;
+---------------+
| nx |
+---------------+
| ***-(***)-*** |
+---------------+
1 row in set (0.00 sec)mysql>
如果你的数据象你这样有规律的话,你可以通过变通使用查找和截取函数来实现