优秀的编程知识分享平台

网站首页 > 技术文章 正文

SQL|常用函数之字符串分割函数split

nanyue 2024-09-14 06:27:20 技术文章 5 ℃

#大有学问#?


今天要讲字符串分割函数的常用使用方法,喜欢的友友记得点赞?关注,我们一起学习一起进步[来看我]。


函数语法 : split(string str, string pat)

回值类型 : array

参数说明 : 按照 pat 字符串分割 str ,会返回分割后的字符串数组。


示例1:

select split('abtcdtef','t')

from lxw_dual

返回值:["ab","cd","ef"]


示例2:

select split('a,b,c,d',',')

from lxw_dual

返回值:["a","b","c","d"]


示例3:

select split('a,b,c,d',',')

from lxw_dual

返回值:["a","b","c","d"]


二、函数的衍生用法

1.截取字符串中的某个值

示例4:

select split('a,b,c,d',',')[0]

from lxw_dual

返回值:a


示例5:

select split('ab_cd_ef', '\_')[0]

from lxw_dual

返回值:ab


2.特殊字符的处理,regex 为字符串匹配的参数,所以遇到特殊字符的时候需要做特殊的处理。

示例6:

select split('192.168.0.1','.')

from lxw_dual

返回值:[]


正确的写法:

select split('192.168.0.1','\\.')

from lxw_dual

返回值:["192","168","0","1"]

注:有些特殊字符转义只需\,而有些需\\,在语句翻译过程中经历经历几次转义。

三、HIVE与Presto区别

1.HIVE用法

split('公司-业务-运营部', '-')[0]

返回值?: 公司

2.Presto用法

split('公司-业务-运营部', '-')[1]

返回值: 公司?

最近发表
标签列表