对oracle的字符串进行拆分

运行环境:oracle11g、pl/sql developer

利用oracle程序块将"1,2,3,“这个字符串进行切割,取出"1”、“2”、"3"来。

可以利用substr函数和instr函数这俩函数,substr函数作为手术刀,instr函数作为标记切割位置的标尺(有点像操作系统里的head,tail那一套)

先回顾一下这俩函数的语法

SUBSTR(字符串,截取起始位置,截取步长)

//一定要注意SUBSTR最后一位参数是截取步长,不是截取结束位置

//一定要注意SUBSTR最后一位参数是截取步长,不是截取结束位置

//一定要注意SUBSTR最后一位参数是截取步长,不是截取结束位置

INSTR(源字符串,目标字符串,起始位置,匹配序号)

SELECT substr('1,2,3',0, 1 ) AS "截断后的字符" FROM DUAL

UNION

SELECT substr('1,2,3',instr('1,2,3', ',',1,1)+1, 1) AS "截断后的字符" FROM DUAL

--substr函数里的第二个参数加的1其实是加的下一个字符的长度

UNION

SELECT substr('1,2,3',instr('1,2,3', ',',1,2)+1, 1) AS "截断后的字符" FROM DUAL

运行截图

6deb2adfdca3bae6e3691c0e6a401b2e.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐