substr函数在oracle中使用表示被截取的字符串或字符串表达式。和instr()函数不同,instr()函数是要截取的字符串在源字符串中的"位置",substr()函数是截取字符串的"内容"。
基本信息
中文名
substr
外文名
substr
函数定义
从第m个字符开始截取
函数语法
指定的要截取的字符串
注意事项
函数参数start或length任
目录
1函数定义:
2函数语法:
3函数注意事项:
折叠编辑本段函数定义:
substr(strings|express,m,[n])
strings|express :被截取的字符串或字符串表达式
m 从第m个字符开始截取
n 截取后字符串长度为n
运行结果截图
运行结果截图
折叠编辑本段函数语法:
substr(string,start,length)
string - 指定的要截取的字符串
start - 必需,规定在字符串的何处开始
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length - 可选,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符。
例如:
select substr('abcdefg',3,4) from dual;结果是cdef
select substr('abcdefg',-3,4) from dual;结果efg
select substr('abcde',2),substr('abcde',-2),substr('abcde',2,3),substr('abcdewww',-7,3) from dual;
结果是bcde、de、bcd、bcd
折叠编辑本段函数注意事项:
1、函数参数start或length任意值为空,那么结果为空
eg:
SQL> select substr('abcde',1,null) from dual;
SUBSTR('ABCDE',1,NULL)
----------------------
SQL> select substr('abcde',null,null) from dual;
SUBSTR('ABCDE',NULL,NULL)
-------------------------
SQL> select substr('abcde',null,1) from dual;
SUBSTR('ABCDE',NULL,1)