暂无图片
该正则替换在oracle和mysql8中查询的结果不一致,请问在mysql8中应该如何修改表达式?
我来答
分享
暂无图片 匿名用户
该正则替换在oracle和mysql8中查询的结果不一致,请问在mysql8中应该如何修改表达式?
SELECT regexp_replace('aaabbxaee','(\w)\1{1,}','\1') from dual;
复制

image.png
image.png

此正则替换的目的是,对于一个字符串,相邻字符一致的只保留一个。
同样都是使用的正则替换函数,传入的参数也完全一致,但两个数据库里输出结果却不一样。
请问在mysql8中应该如何修改传入参数才能达到和oracle中一样的效果?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
严少安
暂无图片

需要改写一下:

mysql> SELECT regexp_replace('aaabbxaee','(.)\\1+',"\\1") from dual; +---------------------------------------------+ | regexp_replace('aaabbxaee','(.)\\1+',"\\1") | +---------------------------------------------+ | abxae | +---------------------------------------------+ 1 row in set (0.00 sec)
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
DarkAthena
SELECT regexp_replace('aaabbxaee','(\\w)\\1{1,}','\\1');
复制

mysql正则里的"\"都要转义

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL 8 主从的时候,主库已有数据, 从库想部分库全量同步,只能把主库备份从库,然后从库再开启同步吗?
回答 1
是的,要全量的话必须先同步历史数据,但是方法有很多(clone、mysqldump、xtb都可以解决)当然还有一种特殊情况,就是如果你主库有历史所有的binlog就可以直接从第一个binlog开始同步
oracle 清理数据
回答 2
直接drop会比较好。因为truncate操作会删除表中的所有数据,但是表结构、索引、触发器、权限等仍然保留,这个过程可能会比较耗时。而drop操作则是直接删除表及其依赖的所有对象,包括数据、索引、触
每个数据文件最多只能包含2^22-1个数据块
回答 3
每个数据块头部,会有4个字节记录数据块的位置,也就是32位,对于smallfile表空间,前面10位表示相对文件号,后面22位表示块号,最大也就是22个1来表示最大的块id。也就是2^221
rac 12c 心跳直连的,还有必要做bond吗?就一张心跳卡,2口的
回答 2
RAC不建议心跳直连。拓展性降低。同时容易引发一些集群的异常
达梦能完全兼容oracle 11g吗?
回答 4
大部分应该是兼容的,实际情况需要结合本身数据库迁移测试。
请教各位前辈,这里等待事件我应该如何优化?极限每秒插入 1500条左右
回答 2
已采纳
io都达到瓶颈了,还优化啥,只能升级更快的SSD盘了。
您的数据库支持联机事务处理 (OLTP) 应用程序。应用程序正在进行一些主要的架构更改,例如添加新索引和具体化视图。您希望检查这些更改对工作负载性能的影响。你应该使用什么来实现此目的?
回答 3
已采纳
使用SQL性能分析器(B)和SQL优化顾问(C)。
Oracle有什么自动备份工具吗?
回答 1
自动备份是什么意思?通常我们可以通过计划任务rman或expdp脚本来实现定时备份。当然,如果要实现特殊需求的备份,还可以考虑使用触发器、存储过程等,对某些表数据进行实时备份。
oracle生产库19c是否可以直接开启回收站
回答 1
已采纳
可以Therecyclebinisenabledbydefault.Todisabletherecyclebin:Issueoneofthefollowingstatements:ALTERSESSI
AWR分析报告问题求助:缓存比过高
回答 2
已采纳
1、top等待事件的这个pglimit,说明有很多session在等待pga分配,这个需要分析下哪些sql占用了pga比较多,可以查v$process或者v$activesessionhistory确