栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive常用函数总结一——字符串函数与日期/时间函数

大数据系统 更新时间:发布时间: 百科书网 趣学号
一、字符串类函数

说明:对字符进行拼接、截取、去空格

如:concat、concat_ws、substring、trim、lpad、rpad、split、find_in_set

1.1 concat

说明:拼接字符

SELECt CONCAt(user_name,dt) FROM user_view

-- 输出:

"welsh20200801"

"Albert20200801"
1.2 concat_ws

说明:拼接字符且分割

 

SELECt CONCAT_Ws(':',user_name,dt) FROM user_view;

-- 输出:

"welsh:20200801"

"Albert:20200801"
1.3 substring

说明:截取字符串

用法:subString(col, intstart, int len)

 

SELECt CONCAT_Ws(':',user_name,dt) FROM user_view

-- 输出:

"welsh:20200801"

"Albert:20200801"
1.4 trim

说明:去掉两边的空格

用法:trim(col)

select trim('    welsh     ') 

-- 输出:

"welsh"
1.5 repeat

说明:复制函数

用法:repeat(string str, int n)

select repeat('welsh',2)

-- 输出:

"welshwelsh"
1.6 lpad

说明:填充函数,默认从左开始补充

用法:lpad(string str, int len, string pad)

select lpad('welsh',10, 'ddd')

-- 输出:

"dddddwelsh"
1.7 rpad

说明:右补充函数,默认从右开始补充

用法:rpad(string str, int len, string pad)

select rpad('welsh',10, 'ddd')

-- 输出:

"welshddddd"
1.8 split

说明:分割函数,返回list

用法:split(string str, stringpat)

select split('welshUAlbertUGG','U')

-- 输出:

["welsh","Albert","GG"]
1.9 find_in_set

说明:查找函数,返回首次出现该字符位置

用法:find_in_set(string str, string strList)

select find_in_set('welsh','Albert,and,welsh,go,to,Swimming')

-- 输出:
3


二、日期/时间函数

说明:时间获取、格式化、2个时间相差、时间增加、时间减少

枚举:unix_timestamp、FROM_UNIXTIME、to_date、weekofyear、weekofyear、datediff、date_add、date_sub

2.1 unix_timestamp

说明:获取当前时间戳

用法:unix_timestamp()

SELECt unix_timestamp()

-- 输出:

1600226901
2.2 from_unixtiom

说明:格式化时间戳,通常与unix_timestamp()一起用,获取当前时间

用法:FROM_UNIXTIME()

SELECt FROM_UNIXTIME(unix_timestamp(),'yyyyMMdd') 

-- 输出:
20200916

2.3 to_date

说明:格式化时间

用法:to_date()

SELECT to_date('2020-09-10 10:03:01') as now_time

-- 输出:
2020-09-10

2.4 weekofyear

说明:返回当前周

用法:weekofyear()

SELECT weekofyear('2020-09-08 10:03:01') as now_time

-- 输出:

37
2.5 datediff

说明:日期相差天数

用法:datediff()

select datediff('2020-09-09','2020-08-08')

-- 输出:

32
2.6 date_add

说明:日期增加

用 法:date_add()

select date_add('2020-09-08',10) as date_time

-- 输出:
2020-09-18
2.7 date_sub

说明:日期减少N天

用法:date_sub()

select date_sub('2020-09-08',10) as date_time

-- 输出:
2020-08-29
 


转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/279939.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号