SUBSTRB
是 Oracle 数据库中的一个内置函数,用于从字符串中提取子字符串
以下是 SUBSTRB
函数的语法:
SUBSTRB(string, start_position, [length])
参数说明:
string
:要操作的原始字符串。start_position
:子字符串开始的位置。正数表示从左到右计算,负数表示从右到左计算。length
(可选):子字符串的长度。如果省略此参数,则默认为从起始位置到字符串末尾的所有字符。
以下是一些使用 SUBSTRB
函数的示例:
- 从字符串的指定位置提取子字符串:
SELECT SUBSTRB('Hello, World!', 1, 5) AS result FROM DUAL;
输出结果:
RESULT ------ Hello
- 从字符串的指定位置提取子字符串,不指定长度:
SELECT SUBSTRB('Hello, World!', 8) AS result FROM DUAL;
输出结果:
RESULT ------ World!
- 从字符串的指定位置(从右到左)提取子字符串:
SELECT SUBSTRB('Hello, World!', -6, 5) AS result FROM DUAL;
输出结果:
RESULT ------ World
注意:在处理多字节字符集(如 UTF-8)时,SUBSTRB
会根据字节长度而非字符数来提取子字符串。这可能导致提取到的子字符串包含不完整的字符。在这种情况下,建议使用 SUBSTR
函数,它是基于字符数的,而不是字节长度。