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