一 字符串函数
1 substring:截取字符串
语法一:substring(string A, int start)
返回值:string
说明:返回字符串A从start位置到结尾的字符串
语法二:substring(string A, int start, int len)
返回值:string
说明:返回字符串A从start位置开始,长度为len的字符串
select substring("hello",2); -- 获取第二个字符以后的所有字符
ello
select substring("hello",-3); -- 获取倒数第三个字符以后的所有字符
llo
select substring("hello",3,2); -- 从第3个字符开始,向后获取2个字符
ll
2 replace :替换
语法:replace(string A, string B, string C)
返回值:string
说明:将字符串A中的子字符串B替换为C。
select replace('hello', 'h', 'H')
Hello
3 regexp_replace:正则替换
语法:regexp_replace(string A, string B, string C)
返回值:string
说明:将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符。
select regexp_replace('100-200', '(\\d+)', 'num')
num-num
4 regexp:正则匹配
语法:字符串 regexp 正则表达式
返回值:boolean
说明:若字符串符合正则表达式,则返回true,否则返回false。
1)正则匹配成功,输出true
select 'dfsaaaa' regexp 'dfsa+'
true
2)正则匹配失败,输出false
select 'dfsaaaa' regexp 'dfsb+';
false
5 repeat:重复字符串
语法:repeat(string A, int n)
返回值:string
说明:将字符串A重复n遍。
select repeat('123', 3);
123123123
6 split :字符串切割
语法:split(string str, string pat)
返回值:array
说明:按照正则表达式pat匹配到的内容分割str,分割后的字符串,以数组的形式返回。
select split('a-b-c-d','-');
["a","b","c","d"]
7 nvl :替换null值
语法:nvl(A,B)
说明:若A的值不为null,则返回A,否则返回B。
select nvl(null,1);
1
8 concat :拼接字符串
语法:concat(string A, string B, string C, ……)
返回:string
说明:将A,B,C……等字符拼接为一个字符串
select concat('beijing','-','shanghai','-','shenzhen');
beijing-shanghai-shenzhen
9 concat_ws:以指定分隔符拼接字符串或者字符串数组
语法:concat_ws(string A, string…| array(string))
返回值:string
说明:使