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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容