Hive内置函数之字符串函数和数学函数

一、常用字符串函数

官方文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-StringFunctions

以下只列出常用的一些字符串函数,有些函数用得不多的,要查看上方的官方文档链接

(1.1)substr(string|binary A, int start)、substr(string|binary A, int start, int len)

字符串截取

示例:

SELECT substr('Facebook', 5, 2); -- bo

SELECT substr('Facebook', 5); -- book


(1.2)concat(string|binary A, string|binary B...)

字符串连接

示例:

SELECT concat('abc', 'def'); -- abcdef


(1.3)concat_ws(string SEP, string A, string B...)

指定分隔符进行字符串连接

示例:

是否走MR跟参数 hive.fetch.task.conversion有关

在 hive.fetch.task.conversion=minimal的情况下,是走MapReduce的

在hive.fetch.task.conversion=more的情况下,是不走MapReduce的

使用场景:

拼接ip

SELECT concat_ws('.', '192','168','1','218'); -- 192.168.1.218


(1.4)length(string A)

获取字符串长度

示例:

SELECT length('Facebook'); -- 8


(1.5)split(string str, string pat)

字符串切割

示例:

SELECT split('192.168.121.218', '\\.'); -- ["192","168","121","218"]


(1.6)upper(string A)、lower(string A)

全小写或全大写

示例:

SELECT lower('Facebook'); -- facebook


(1.7)trim(string A)

去空白

示例:

SELECT trim(' facebook '); -- facebook

二、常用数学函数

官方文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-MathematicalFunctions

(2.1)round(DOUBLE a)、round(DOUBLE a, INT d)

四舍五入

示例:

SELECT round(12.3456, 2); -- 12.35

SELECT round(12.3456, 1); -- 12.3


(2.2)ceil(DOUBLE a)、ceiling(DOUBLE a)、floor(DOUBLE a)

俗称天花板
俗称地板

示例:

SELECT ceil(-1.1); -- -1

SELECT ceil(5.1); -- 6

SELECT floor(-1.1); -- -2

SELECT floor(1.1); -- 1


(2.3)abs(DOUBLE a)

取绝对值

示例:

SELECT abs(-5); -- 5

你可能感兴趣的:(Hive内置函数之字符串函数和数学函数)