mysql 成功实现oracle的connect By一行转多行功能
发布时间:2023-09-21 15:44:23 所属栏目:MySql教程 来源:
导读:在项目中将 oracle 数据库变更为 mysql 数据库的时候,在储存过程中遇见了 connect by 与 regexp_substr 这个关键字,作用是将一行参数转为多行参数
oracle
select regexp_substr('1,2,3,4,5', &#
oracle
select regexp_substr('1,2,3,4,5', &#
在项目中将 oracle 数据库变更为 mysql 数据库的时候,在储存过程中遇见了 connect by 与 regexp_substr 这个关键字,作用是将一行参数转为多行参数 oracle select regexp_substr('1,2,3,4,5', '[^,]+', 1, rownum) lzh from dual connect by rownum <= length(regexp_replace('1,2,3,4,5', '[^,]+')); 在这里插入图片描述 现在要将之改为 mysql 数据库,就要使用到数据库自带的 mysql.help_topic 表来属性拆分,help_topic 表就是实现行转列功能 解决办法如下: mysql SELECT SUBSTRING_INDEX( SUBSTRING_INDEX('1,2,3,4,5',',',help_topic_id + 1),',' ,- 1) lzh FROM mysql.help_topic WHERE help_topic_id < (LENGTH('1,2,3,4,5')) - LENGTH(REPLACE ('1,2,3,4,5', ',', '')) + 1; (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐