一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情。
前面介绍了hive函数中常用到的数值计算和空值处理等函数,从这一篇文章开始我将用比较多的篇幅来介绍hive函数中的一个重点,字符串函数,涉及了字符串的截取、组合、转换等等,后面再介绍日期函数,也是非常实用的,下面就开始了。
字符串函数
1、length 字符串长度函数 作用:获取字符串的长度
常见使用方法:length(string A)
具体功能描述:该函数是比较简单的功能,和java中的字符串.length的功能一样,就是获取一个字符串的长度的,其中返回的结果类型就是int 。
select length( 'abcedfg' );-- 统计英文字符
>> 7
select length( '张三李四' );-- 统计中文字符
>> 4
select length( '张三 李四' ); -- 包含空格也是可以统计的
>> 5
2、reverse 字符串反转函数 作用:输出反转字符串
常见使用方法:reverse(string A)
具体功能描述:这也是一个比较大众的函数,功能和java中的stringBuffer或者stringBuilder自带的reverse方法类似,就是获得一个字符串A的反转结果,其返回的结果类型就是string 。
select reverse( 'abcedfg' ); -- 反转英文字符
>> gfdecba
select reverse( '张三李四' ) ; -- 反转中文字符
>> 四李三张
select reverse( '张三 李四' ) ; --反转中文字符带空格
>> 四李 三张
3、concat 字符串连接函数 作用:返回多个字符串连接结果
常见使用方法:concat(string A, string B…)
具体功能描述:在hive中也有将多个字符串连接在一起的方法,那就是concat,其返回的结果类型依旧是string ,通过输入多个字符串类型的参数,然后返回其按顺序连接后的结果,注意这里是支持任意多个输入字符串。
select concat( 'abc' , 'def' , 'gh' );
>> abcedfg
select concat( '张三' , '李四' , '王五' );
>> 张三李四王五
select concat( '张三' , student_name); -- 直接连接一个字符串字段也可以
>> 张三helloworld