[Oracle] SUBSTR()函数
SUBSTR() 是 Oracle 中用于截取字符串的子串函数,它可以从指定位置开始提取字符串的一部分
SUBSTR()函数在处理字符串数据时非常有用,特别是在数据清洗、报告生成和数据分析场景中
语法格式
SUBSTR(intercepted_str, start_position, length)
参数说明
intercepted_str: 要截取的源字符串
start_position: 开始截取的位置
正数:从字符串开头算起(第一个字符位置为1)
负数:从字符串末尾算起(最后一个字符位置为-1)
length: 要截取的子串长度;如果省略,则截取从开始位置到字符串末尾的所有字符(可选)
示例
-- 从第3个字符开始截取
SELECT SUBSTR('Oracle SQL', 3) FROM dual; -- 'acle SQL'-- 从第2个字符开始截取4个字符
SELECT SUBSTR('Oracle SQL', 2, 4) FROM dual; -- 'racl'-- 从倒数第3个字符开始截取
SELECT SUBSTR('Oracle SQL', -3) FROM dual; -- 'SQL'-- 从第4个字符开始截取到倒数第2个字符
SELECT SUBSTR('Oracle SQL', 4, LENGTH('Oracle SQL')-5) FROM dual; -- 'cle S'
提示Tips
① 如果 start_position 大于字符串长度,返回空字符串
SELECT SUBSTR('Oracle', 12) FROM dual; -- ''
② 如果 length 小于1,返回空字符串
SELECT SUBSTR('Oracle', 1, 0) FROM dual; -- ''