暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T 字符串截取函数SUBSTR 、SUBSTRB 、SUBSTRING

原创 章芋文 2019-09-23
4328

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.
最后修改时间:2019-09-23 16:15:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论