Oracle中的SUBSTR函数用于提取字符串的子串。它的基本语法如下:
SUBSTR(string, start_position, [length])
- string:要提取子串的字符串。
- start_position:子串的起始位置。位置从1开始计数。
- length(可选):要提取的子串的长度。
如果省略length参数,SUBSTR函数将从start_position开始提取到字符串的末尾;如果提供了length参数,SUBSTR函数将从start_position开始提取指定长度的子串。
以下是一些示例:
- 提取从第3个位置开始的子串:
SELECT SUBSTR('Oracle', 3) FROM dual;
-- 结果为 'acle'
- 提取从第5个位置开始长度为3的子串:
SELECT SUBSTR('Oracle', 5, 3) FROM dual;
-- 结果为 'le'
- 提取从第2个位置开始到倒数第3个位置的子串:
SELECT SUBSTR('Oracle', 2, -3) FROM dual;
-- 结果为 'ra'
需要注意的是,Oracle中的字符串索引从1开始计数,并且可以使用负数索引来从字符串末尾开始计数。