在Oracle中,substr函数用于从一个字符串中提取子字符串
如果start_position
为负数,那么它表示从字符串末尾开始计算的位置。例如,-1表示字符串的最后一个字符,-2表示倒数第二个字符,依此类推。
如果length
为负数,那么将其视为0。这意味着substr函数将返回一个空字符串。
举例说明:
SELECT SUBSTR('Hello, World!', -6) FROM DUAL; -- 返回 'World!'
SELECT SUBSTR('Hello, World!', -6, -3) FROM DUAL; -- 返回 ''(空字符串)
在第一个示例中,我们从字符串末尾的第6个字符开始提取子字符串,结果是’World!'。在第二个示例中,我们试图从字符串末尾的第6个字符开始提取长度为-3的子字符串,但由于长度为负数,因此返回空字符串。