Oracle中的SUBSTR函数是一个字符串处理函数,用于从给定的字符串中提取子字符串,它可以从一个字符串的指定位置开始,提取指定长度的子字符串,SUBSTR函数的语法如下:
SUBSTR(string, start_position, [length])
参数说明:
string:要提取子字符串的原始字符串。
start_position:开始提取子字符串的位置,从1开始计数。
length:要提取的子字符串的长度,如果省略此参数,将提取从start_position位置到字符串末尾的所有字符。
下面详细介绍一下SUBSTR函数的各种用法:
1、提取从指定位置开始的整个子字符串
当不指定length参数时,SUBSTR函数将从start_position位置开始,提取整个剩余的子字符串。
SELECT SUBSTR('Hello World', 6) FROM DUAL;
结果为:World
2、提取指定长度的子字符串
当指定length参数时,SUBSTR函数将从start_position位置开始,提取指定长度的子字符串。
SELECT SUBSTR('Hello World', 1, 5) FROM DUAL;
结果为:Hello
3、提取从指定位置开始到字符串末尾的子字符串
当不指定length参数时,SUBSTR函数将从start_position位置开始,提取到字符串末尾的所有字符。
SELECT SUBSTR('Hello World', 7) FROM DUAL;
结果为:World
4、提取从指定位置开始到另一个指定位置的子字符串
当指定两个参数时,SUBSTR函数将从start_position位置开始,提取到end_position位置的子字符串。
SELECT SUBSTR('Hello World', 1, 5) FROM DUAL;
结果为:Hello
5、提取空字符串(当start_position大于等于字符串长度时)
当start_position大于等于字符串长度时,SUBSTR函数将返回空字符串。
SELECT SUBSTR('Hello World', 10) FROM DUAL;
结果为:(空字符串)
6、提取负数位置的子字符串(当start_position小于1时)
当start_position小于1时,表示从字符串末尾开始计算位置。
SELECT SUBSTR('Hello World', -5) FROM DUAL;
结果为:World
7、提取空字符串(当start_position和length都为负数时)
当start_position和length都为负数时,表示从字符串末尾开始计算位置,并且提取空字符串。
SELECT SUBSTR('Hello World', -10, -5) FROM DUAL;
结果为:(空字符串)
8、提取空字符串(当start_position大于等于length时)
当start_position大于等于length时,表示从指定位置开始,没有剩余的字符可以提取,因此返回空字符串。
SELECT SUBSTR('Hello World', 5, 5) FROM DUAL;
结果为:(空字符串)
9、提取空字符串(当start_position和length都为0时)
当start_position和length都为0时,表示从字符串开头开始,没有剩余的字符可以提取,因此返回空字符串。
SELECT SUBSTR('Hello World', 0, 0) FROM DUAL;
结果为:(空字符串)
10、提取空字符串(当start_position、length和end_position都为0时)
当start_position、length和end_position都为0时,表示从字符串开头开始,没有剩余的字符可以提取,因此返回空字符串。
SELECT SUBSTR('Hello World', 0, 0, 0) FROM DUAL;
结果为:(空字符串)
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/250145.html