Hive常用函数总结一 您所在的位置:网站首页 hive日期转字符串 Hive常用函数总结一

Hive常用函数总结一

2024-06-04 04:53| 来源: 网络整理| 查看: 265

一、字符串类函数

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

如: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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有