SUBSTR
SUBSTR(str FROM start [FOR len])
功能:字符串截取函数。截取并返回str中从|start|开始的len个字符的子串。
参数start表示索引位置,正值表示从左向右第|start|个字符位置,负值表示从右向左第|start|个字符位置。参数start取值为0时,索引位置为从左向右的第一个字符。参数len表示自索引位置开始向右截取的字符数,len≤0时,函数SUBSTR的返回值为空。len是可选参数,如果省略,则返回自索引位置开始到str末尾的所有字符。
入参str必须是可转成STRING的表达式,入参start、len必须是可转成INT的表达式;返回值是STRING。
示例:
从左向右第5个字符开始截取字符串,截取的字符串长度为6。
SELECT SUBSTR('Quadratically',5,6) EXMAPLE1, SUBSTR('Quadratically' FROM 5 FOR 6) EXAMPLE2 FROM DUAL; EXMAPLE1 EXAMPLE2 -------- -------- ratica ratica 1 rows fetched.
从左向右第5个字符开始截取字符串,截取的字符串长度为0,返回值为空。
SELECT SUBSTR('Quadratically',5,0) EXMAPLE1, SUBSTR('Quadratically' FROM 5 FOR 0) EXAMPLE2 FROM DUAL; EXMAPLE1 EXAMPLE2 -------- -------- 1 rows fetched.
从右向左第5个字符开始截取字符串,参数len省略,返回自索引位置开始到str末尾的所有字符。
SELECT SUBSTR('Quadratically',-5) EXMAPLE1, SUBSTR('Quadratically' FROM -5) EXAMPLE2 FROM DUAL; EXMAPLE1 EXAMPLE2 -------- -------- cally cally 1 rows fetched.
SUBSTRB
语法:
SUBSTRB(str, start[,len])
功能:字符串截取函数。截取并返回str中从|start|开始的len个字节的子串。
参数start表示索引位置,正值表示从左向右第|start|个字节位置,负值表示从右向左第|start|个字节位置。参数start取值为0时,索引位置为从左向右的第一个字节。参数len表示自索引位置开始向右截取的字节数,len≤0时,函数SUBSTR的返回值为空。len是可选参数,如果省略,则返回自索引位置开始到str末尾的所有字节。
入参str必须是可转成STRING的表达式,入参start、len必须是可转成INT的表达式;返回值是STRING。
示例:
从左向右第5个字节开始截取字符串,截取的字节数为6。
SELECT SUBSTRB('Quadratically',5,6) EXMAPLE FROM DUAL; EXMAPLE -------- ratica 1 rows fetched.
从左向右第5个字节开始截取字符串,截取的字节数为0,返回值为空。
SELECT SUBSTRB('Quadratically',5,0) EXMAPLE FROM DUAL; EXMAPLE ------- 1 rows fetched.
从右向左第5个字节开始截取字符串,参数len省略,返回自索引位置开始到str末尾的所有字节。
SELECT SUBSTRB('Quadratically',-5) EXMAPLE FROM DUAL; EXMAPLE ------- cally 1 rows fetched.
SUBSTRING
语法:
SUBSTRING(str, start[,len])
SUBSTRING(str FROM start [FOR len])
功能:字符串截取函数。功能与SUBSTR相同,截取并返回str中从|start|开始的len个字符的子串。
参数start表示索引位置,正值表示从左向右第|start|个字符位置,负值表示从右向左第|start|个字符位置。参数start取值为0时,索引位置为从左向右的第一个字符。参数len表示自索引位置开始向右截取的字符数,len≤0时,函数SUBSTR的返回值为空。len是可选参数,如果省略,则返回自索引位置开始到str末尾的所有字符。
入参str必须是可转成STRING的表达式,入参start、len必须是可转成INT的表达式;返回值是STRING。
示例:
从左向右第5个字符开始截取字符串,截取的字符串长度为6。
SELECT SUBSTRING('Quadratically',5,6) EXMAPLE1, SUBSTRING('Quadratically' FROM 5 FOR 6) EXAMPLE2 FROM DUAL; EXMAPLE1 EXAMPLE2 -------- -------- ratica ratica 1 rows fetched.
从左向右第5个字符开始截取字符串,截取的字符串长度为0,返回值为空。
SELECT SUBSTRING('Quadratically',5,0) EXMAPLE1, SUBSTRING('Quadratically' FROM 5 FOR 0) EXAMPLE2 FROM DUAL; EXMAPLE1 EXAMPLE2 -------- -------- 1 rows fetched.
从右向左第5个字符开始截取字符串,参数len省略,返回自索引位置开始到str末尾的所有字符。
SELECT SUBSTRING('Quadratically',-5) EXMAPLE1, SUBSTRING('Quadratically' FROM -5) EXAMPLE2 FROM DUAL; EXMAPLE1 EXAMPLE2 -------- -------- cally cally 1 rows fetched.