presto 字符串处理

split():对字符串跟进指定字符进行分割

select split('A/b/c/d/e/f/g','/')  =》  ['A','b','c','d','e','f','g']

split_part():返回指定下标的字符串

select split_part('A/b/c/d/e/f/g','/',3)  =》c

split_to_map():对字典进行分割

select split_to_map(‘name:"张三",age:30’)  => {name="张三",age=30}

cardinality():获取数组的长度

select cardinality(array ['A','b','c','d','e','f','g']) => 7

slice():对数组依据下标进行截取,下标从1开始,6表示长度;

select slice((array ['A','b','c','d','e','f','g']),1,6)  => ['A','b','c','d','e','f']

cross join unnest()根据指定字符,把拼接的字符串炸开成多条

select channel,
                   channel_1 as newChannel,
                   channel_ratio
              from  form_name
              cross join unnest(split(channel,',')) as t (channel_1)
              where month='2022-04' 

chr():将ASCII 转换为字符串

select chr(65)   => 'A'

concat():对字符串进行拼接

select concat('A','b') =》 'Ab'

|| :对字符串进行拼接

select 'A'||'b'    =》 'Ab'

to_utf8(): 将字符串转为二进制编码

from_utf8() :将二进制转为字符串

select from_utf8(to_utf8('Apple'))   =>Apple

length(): 获取字符串长度

select length(‘ABC’)   =》3

lower():将字符串转为小写

select lower(‘ABC’) =》‘abc’

upper():将字符串转为大写

select lowe‘Abc’) =》‘ABC’

substr():截取指定字符串

select substr('2022-06-09 23:59:59',1,7)='2022-06'   1是起始下标,7表示长度

select substr('2022-06-09 23:59:59',1,10)='2022-06-09'  

select substr('2022-06-09 23:59:59',9,2)='09' 

使用:array_join +slice+split对网站进行分割:

select array_join(slice(split('WWW.BAIDU.COM.','.'),1,2),'.')  =>'WWW.BAIDU'

regexp_extract():保留字符串中间部分的字符

select regexp_extract('SSparkSqLS','S+(\S+)L',1)  =>SparkSq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值