ltrim :从第一个参数的左侧开始截取第二个参数中出现的字符,直道遇到非第二个参数中包含的字符。
SQL> select ltrim('aaaaaaadabc','abc') from dual;
LTRI
----
dabc
SQL> select ltrim('aaaaabbbbaadabc','abc') from dual;
LTRI
----
dabc
SQL> select ltrim('aaaaacccbbbbaadabc','abc') from dual;
LTRI
----
dabc
注:第二个参数不指定的场合,默认为空格。
=====================================================
REGEXP_SUBSTR函数格式如下:
function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
__srcstr :需要进行正则处理的字符串
__pattern :进行匹配的正则表达式
__position :起始位置,从第几个字符开始正则表达式匹配(默认为1)
__occurrence :标识第几个匹配组,默认为1
__modifier :模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)
实际应用如下:在oracle中,使用一条语句实现将'34,56,-23'拆分成'34','56','-23'的集合。
SQL>
SQL> SELECT REGEXP_SUBSTR('34,56,-23','[^,]+',1,1,'i') AS STR FROM DUAL;
ST
--
34
SQL> SELECT REGEXP_SUBSTR('34,56,-23','[^,]+',1,3,'i') AS STR FROM DUAL;
STR
---
-23
SQL> SELECT REGEXP_SUBSTR('34,56,-23','[^,]+',1,4,'i') AS STR FROM DUAL;
S
-
注:[^,]+查找不为,号的字符串
=====================================================