GBase 8a
其他
文章

Split_part 函数

发表于2025-12-29 13:49:1478次浏览1个评论

Split_part函数是GBase 8a数据库中的一个字符串处理函数,用于将一个字符串按照指定的分隔符进行切割,并返回指定位置的子字符串。
函数语法
SPLIT_PART(str string, delimiter string, field int)
参数说明| 参数名称 | 说明 | 
|   str   | 待分割的原始字符串。支持中英文、数字及各种符号。可以是列名、函数或常量,但不能是BLOB、LONGBLOB等二进制数据类型。 | 
|   delimiter   | 分隔符。支持单字符或多字符,同样支持各种符号。暂不支持单独的转义符号  \  。 | 
|   field   | 指定要返回的子串位置。为有符号整数类型,取值范围是 [-2147483648, 2147483647]。 |

功能规则
该函数根据分隔符在字符串中出现的次数   n  ,并结合   field   参数的值,遵循以下规则返回结果:
当   0 < field <= n+1   时,返回从左到右数第   field   段的子字符串。
当   field = 0  ,或   str   长度为0,或   delimiter   长度为0时,返回空串 (  ''  )。
当   field > n+1   时,返回空串。
当   n = 0  (即字符串中没有指定的分隔符)时,无论   field   为何值,都返回空串。
当   -(n+1) <= field < 0   时,返回从右到左数第   |field|   段的子字符串。
当   field < -(n+1)   时,返回空串。
如果三个参数中任意一个为   NULL  ,函数返回   NULL  。
如果传入的参数少于三个,函数会报错。
使用示例
以下是一些典型的使用示例,可以帮助你更好地理解其用法:
获取正向第一个字段:
SELECT SPLIT_PART('www.gbase.com.cn', '.', 1);
-- 结果:'www'
获取正向第二个字段:
SELECT SPLIT_PART('www.gbase.com.cn', '.', 2);
-- 结果:'gbase'
获取反向第一个字段(最后一个):
SELECT SPLIT_PART('www.gbase.com.cn', '.', -1);
-- 结果:'cn'[图片]
获取反向第二个字段:
SELECT SPLIT_PART('南.大.通.用', '.', -2);
-- 结果:'通'
参数为NULL的情况:
SELECT SPLIT_PART('南.大.通.用', '.', NULL);
-- 结果:NULL
字段位置超出范围:
SELECT SPLIT_PART('www.gbase.com.cn', '.', 9999);
-- 结果:'' (空字符串)
版本支持说明
需要注意的是,SPLIT_PART函数在GBase 8a的 9.5.3.28版本 开始支持。如果你的集群版本低于此版本,可能无法使用该函数。

评论

登录后才可以发表评论
曾云林发表于 2个月前
学习了