请问如何在Oracle中截取第一个逗号和第二个逗号之间的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问如何在Oracle中截取第一个逗号和第二个逗号之间的字符串相关的知识,希望对你有一定的参考价值。

select substr(\'123,123456,123456789\',

              instr(\'123,123456,123456789\', \',\', 1, 1) + 1,

              instr(\'123,123456,123456789\', \',\', 1, 2) -

              instr(\'123,123456,123456789\', \',\', 1, 1) - 1)

  from dual;


追问

你这有一定的规律字符
那如果summery字段内容是这样的
ID:12345,10.1.1.12.ajkd,djfffffffffffffffffffffdssssssssss
ID:7777745,100.35.1.4,sdfdfs
你怎么把中间的10.1.1.12和100.35.1.4 IP地址取出来

追答

模糊截取就可以了。

参考技术A select substr(字符串,instr(字符串,\',\',1)+1,instr(字符串,\',\',instr(字符串,\',\',1)+1)-instr(字符串,\',\',1)-1) from dual

追问

你这有一定的规律字符
那如果summery字段内容是这样的
ID:12345,10.1.1.12.ajkd,djfffffffffffffffffffffdssssssssss
ID:7777745,100.35.1.4,sdfdfs
你怎么把中间的10.1.1.12和100.35.1.4 IP地址取出来

追答

你那逗号不规范,我都给改成英文写法了

 

给你截图看结果

本回答被提问者采纳

ORACLE 如何按逗号截取查询所得的表名

我通过ORACLE数据库查询到一张表名,但我现在想要截取这段表名的某一段。如何实现?SQL文:SELECT  T1.COMMENTSFROM  USER_TAB_COMMENTS T1查询所得(表名):顾客情报,Version=1.2PS:我现在想得到的是“顾客情报”后面的不要,请问在SELET中如何实现?

参考技术A SELECT substr(T1.COMMENTS ,0,instr(T1.COMMENTS ,',',-1,1)-1) as 列名 from USER_TAB_COMMENTS T1

以上是关于请问如何在Oracle中截取第一个逗号和第二个逗号之间的字符串的主要内容,如果未能解决你的问题,请参考以下文章

javascript 如何截取两个逗号之间的字符串

使用 Python 在每行的第一个和第二个单词后插入逗号?

javascript 如何截取两个指定下标之间的字符串

javascript 如何截取两个指定下标之间的字符串

javascript 以逗号截取字符

SQL 查询指定字符串的位置