美文网首页
数据分析师hive常用函数总结

数据分析师hive常用函数总结

作者: 依宁0507 | 来源:发表于2019-03-19 14:20 被阅读0次


    一、日期转换相关

    1、to_date():datetime改为date

    input: select to_date('2018-01-01 23:59:59')

    output: ‘2018-01-01’

    2、weekofyear() :当年第几周

    input: select weekofyear ('2018-01-01')

    output:  1

    3、datediff(date1,date2) 日期相减,适用于计算两个日期相隔多少天的场景

    input: select datediff ('2018-01-02', '2018-01-01')

    output:  1

    4、date_add(date,days) 日期增加x天,如果days为负数,结果则为日期减x天。

    input: select date_add ('2018-01-01', 1)

    output:  2018-01-02

    5、add_months (date,months) 月份增加x月,如果months为负数,结果则为日期减x月。

    input: select add_months ('2018-01-01', 1)

    output:  2018-02-01

    6、trunc(date, 'mm') 取当月第一天日期

    input: select trunc('2019-01-25','mm')

    output:  2019-01-01

    7、last_day(sysdate( - 1)取当月最后一天

    input:select last_day('2019-01-03')

    output:2019-01-31

    8、year(date)\month(date)\week(date)\day(date) 取日期的年\月\周\日

    input:select year('2019-01-03')

    output: 2019

    二、字符串处理

    1、select concat(string1, string1) 字符串连接

    input:select concat(3,'%')

    output:3%

    2、substr(string,start,int) 从第start位开始截取int位字符串内容

    input: select ('asdf',2,2)

     output:sd

    3、split(string1,string2) ,将字符串分割为一个数组,分割符为string2,类似excel里的分列功能。

    input: select split ('1123,423,534,65,75,76,57,567',',')---将字符串按逗号分割

    output:["1123","423","534","65","75","76","57","567"]

    如果想取其中某一列的数据,可用split(string1,string2)[n]获得

    input: select split ('1123,423,534,65,75,76,57,567',',')[1]

    output:423

    4、length() 求一个字符串长度

    input: select length(123456) 

    output:6

    相关文章

      网友评论

          本文标题:数据分析师hive常用函数总结

          本文链接:https://www.haomeiwen.com/subject/arbgmqtx.html