1. 字符串反转函数:reverse
语法: reverse(string A)
返回值: string
说明:返回字符串A的反转结果
举例:hive> select reverse('abcedfg');
OK
gfdecba
Time taken: 0.203 seconds, Fetched: 1 row(s)
2. 带分隔符字符串连接函数:concat_ws
语法: concat_ws(string SEP, string A, string B…)
返回值: string
说明:返回输入字符串连接后的结果,SEP表示各个字符串间的分隔符
举例:hive> select concat_ws(',','abc','def','gh');
OK
abc,def,gh
Time taken: 0.75 seconds, Fetched: 1 row(s)
3. 字符串大小写转换函数:upper,ucase;lower,lcase
语法: upper(string A) ucase(string A) lower(string A) lcase(string A)
返回值: string
说明:返回字符串A的大写格式;返回字符串A的小写格式
举例:hive> select upper('abSEd'),ucase('abSEd'),lower('abSEd'),lcase('abSEd');
OK
ABSED ABSED absed absed
Time taken: 0.058 seconds, Fetched: 1 row(s)
4. 分割字符串函数: split
语法: split(string str, stringpat)
返回值: array
说明: 按照pat字符串分割str,会返回分割后的字符串数组
举例:hive> select split('1001|0.2|10|11','\\|');
OK
["1001","0.2","10","11"]
Time taken: 0.077 seconds, Fetched: 1 row(s)
5. split详述:
a.基本用法:
例1:
split('a,b,c,d',',')
得到的结果:
["a","b","c","d"]
b.截取字符串中的某个值:
当然,我们也可以指定取结果数组中的某一项
例2:
split('a,b,c,d',',')[0]
得到的结果:
a
c.特殊字符的处理:
特殊分割符号
regex 为字符串匹配的参数,所以遇到特殊字符的时候需要做特殊的处理
例3: "." 点
split('192.168.0.1','.')
得到的结果:
[]
正确的写法:
split('192.168.0.1','\\.')
得到的结果:
["192","168","0","1"]
需要注意的是:
当然当split包含在 "" 之中时 需要加4个\
如 hive -e ".... split('192.168.0.1','\\\\.') ... " 不然得到的值是null。
同样的"|"等特殊符号也需要做类似处理。