Oracle - 如果它出现在一行的开头,则在多字符串中查找分隔符(;)的位置

时间:2017-08-09 07:53:36

标签: sql oracle oracle11g oracle10g

SELECT  REGEXP_INSTR('1234;67;89
;
',';') FROM DUAL;

输出: 5

我想要的位置;出现在行的开头。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

您应该使用m匹配参数并将模式修改为^;


    SELECT  REGEXP_INSTR('1234;67;89;
    ;
    ','^;',1, 1, 1, 'm') FROM DUAL;

输出:

13

documentation

中的更多内容

答案 1 :(得分:0)

尝试:

SELECT  REGEXP_INSTR('1234;67;89
;
'
,'(^|'||chr(10)||');') FROM DUAL;