精华内容
下载资源
问答
  • HIve时间函数

    千次阅读 2020-06-11 11:46:05
    HIve 时间函数 hive时间日期函数及典型场景应用 1、hive取得当前日期时间: 1.1) 取得当前日期: select current_date(); 1.2) 取得当前日期时间: select current_timestamp(); 1.3) hive取得当前时间戳: select ...

    HIve 时间函数

    hive时间日期函数及典型场景应用

    1、hive取得当前日期时间:
    1.1) 取得当前日期:
    select current_date();
    1.2) 取得当前日期时间:
    select current_timestamp();
    1.3) hive取得当前时间戳:
    select unix_timestamp();
    1.4) 时间戳转日期:
    select from_unixtime(1517725479,‘yyyy-MM-dd HH:dd:ss’);
    1.5) 日期转unix时间戳:
    select to_nuix_timestamp(‘2017-01-01 12:12:12’,‘yyyy-MM-dd HH:dd:ss’);
    1.6) hive取得当前时间:
    select from_unixtime(unix_timestamp(),‘yyyy-MM-dd HH:dd:ss’);
    2、hive自动计算其他日期(昨天,今天):
    hive中日期加减函数:date_add(start_date,num_days)
    2.1) 取得昨天日期:
    select date_add(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),-1);
    select date_sub(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),1);
    2.2) 取得明天日期:
    select date_add(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),1);
    select date_sub(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),-1);
    3、hive取得两个日期之间差值(差值为天数):
    datediff(date1,date2):date1大于date2,返回值为正,否则,返回值为负。
    select datediff(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),date_add(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),-10));
    select datediff(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),date_add(from_unixtime(unix_timestamp(),‘yyyy-MM-dd’),10));
    4、字符串转时间(字符串必须为:yyyy-MM-dd格式)
    select to_date(‘2017-01-01 12:12:12’);
    5、日期、时间戳、字符串类型格式化输出标准时间格式:
    select date_format(current_timestamp(),‘yyyy-MM-dd HH:mm:ss’);
    select date_format(current_date(),‘yyyy-MM-dd’);
    select date_format(‘2017-01-01’,‘yyyy-MM-dd HH:mm:ss’); --字符串必须满足yyyy-MM-dd格式
    6、utc时间转换:
    select from_utc_timestamp(current_timestamp(),8);
    select to_utc_timestamp(current_timestamp(),8);

    展开全文
  • hive时间函数

    2017-03-14 14:32:02
    hive时间函数总结

    1.unix_timestamp()

    返回当前时区的unix时间戳 
    返回类型:bigint 
    hive (tmp)> select unix_timestamp() from hive_sum limit 1; 
    1465875016

    2.from_unixtime(bigint unixtime[,string format])

    时间戳转日期函数 
    返回类型:string 
    hive (tmp)> select from_unixtime(unix_timestamp(),’yyyyMMdd’) from hive_sum limit 1; 
    20160614

    3.unix_timestamp(string date)

    返回指定日期格式的的时间戳 
    返回类型:bigint 
    注意:如果后面只有date参数,date的形式必须为’yyyy-MM-dd HH:mm:ss’的形式。 
    hive (tmp)> select unix_timestamp(‘2016-06-01’) from hive_sum limit 1; 
    NULL 
    hive (tmp)> select unix_timestamp(‘2016-06-01 00:00:00’) from hive_sum limit 1; 
    1464710400

    4.unix_timestamp(string date,string pattern)

    返回指定日期格式的时间戳 
    返回类型:bigint 
    hive (tmp)> select unix_timestamp(‘2016-06-01’,’yyyyMMdd’) from hive_sum limit 1; 
    1449331200

    5.to_date(string date)

    返回时间字段中的日期部分 
    返回类型:string 
    hive (tmp)> select to_date(‘2016-06-01 00:00:00’) from hive_sum limit 1; 
    2016-06-01

    6.year(string date)

    返回时间字段中的年 
    返回类型:int 
    hive (tmp)> select year(‘2016-06-01 00:00:00’) from hive_sum limit 1; 
    2016

    7.month(string date)

    返回时间字段中的月 
    返回类型:int 
    hive (tmp)> select month(‘2016-06-01’) from hive_sum limit 1; 
    6

    8.day(string date)

    返回时间字段中的天 
    返回类型:int 
    hive (tmp)> select day(‘2016-06-01’) from hive_sum limit 1; 
    1

    9.weekofyear(string date)

    返回时间字段是本年的第多少周 
    返回类型:int 
    hive (tmp)> select weekofyear(‘2016-06-01’) from hive_sum limit 1; 
    22

    10.datediff(string enddate,string begindate)

    返回enddate与begindate之间的时间差的天数 
    返回类型:int 
    hive (tmp)> select datediff(‘2016-06-01’,’2016-05-01’) from hive_sum limit 1; 
    31

    11.date_add(string date,int days)

    返回date增加days天后的日期 
    返回类型:string 
    hive (tmp)> select date_add(‘2016-06-01’,15) from hive_sum limit 1; 
    2016-06-16

    12.date_sub(string date,int days)

    返回date减少days天后的日期 
    返回类型:string 
    hive (tmp)> select date_sub(‘2016-06-01’,15) from hive_sum limit 1; 
    2016-05-17

    展开全文
  • hive 时间函数

    2019-09-10 22:48:10
    hive 时间函数 20190910 时间截断函数 trunc(string date, string format)返回string select trunc("2016-06-26","MM") --得到:2016-06-01 select trunc("2016-06-26","YY") --得到:2016-01-01 【注意】 ...

    hive 时间函数

    20190910


    • 时间截断函数 trunc(string date, string format)返回string
    select trunc("2016-06-26","MM") --得到:2016-06-01
    select trunc("2016-06-26","YY") --得到:2016-01-01
    

    【注意】 format所支持的格式为MONTH/MON/MM, YEAR/YYYY/YY【大写】

    • timestampdate函数to_date(string timestamp) 返回string
    select to_date("1970-01-01 00:00:00") --得到:1970-01-01
    
    • 时间格式转换date_format(string date, string format)返回string
     select date_format('2015-04-08', 'y') --得到:2015
     select date_format('2015-04-08', 'y-mm') --得到:2015-04
     select date_format('2015-04-08', 'yy-mm') --得到:15-04
    

    【注意】 format所支持的格式为【大写或小写】
    【注意】 hive版本是否支持

    上面都是参考:Hive2.0函数大全(中文版)

    展开全文
  • Hive时间函数

    2018-09-09 21:47:16
    Hive时间函数 1、unix_timestamp() 返回当前时区的unix时间戳  返回类型:bigint  hive> select unix_timestamp() from hive_sum limit 1;  1465875016 2、from_unixtime(bigint unixtime[,string ...

    Hive时间函数

    1、unix_timestamp()

    返回当前时区的unix时间戳 
    返回类型:bigint 

    hive> select unix_timestamp() from hive_sum limit 1; 
    1465875016

    2、from_unixtime(bigint unixtime[,string format])

    时间戳转日期函数 
    返回类型:string 

    hive> select from_unixtime(unix_timestamp(),’yyyyMMdd’) from hive_sum limit 1; 
    20160614

    3、unix_timestamp(string date)

    返回指定日期格式的的时间戳 
    返回类型:bigint 
    注意:如果后面只有date参数,date的形式必须为’yyyy-MM-dd HH:mm:ss’的形式。 

    hive> select unix_timestamp(‘2016-06-01’) from hive_sum limit 1; 
    NULL 
    hive> select unix_timestamp(‘2016-06-01 00:00:00’) from hive_sum limit 1; 
    1464710400

    4、unix_timestamp(string date,string pattern)

    返回指定日期格式的时间戳 
    返回类型:bigint 

    hive> select unix_timestamp(‘2016-06-01’,’yyyyMMdd’) from hive_sum limit 1; 
    1449331200

    5、to_date(string date)

    返回时间字段中的日期部分 
    返回类型:string 

    hive> select to_date(‘2016-06-01 00:00:00’) from hive_sum limit 1; 
    2016-06-01

    6、year(string date)

    返回时间字段中的年 
    返回类型:int 

    hive> select year(‘2016-06-01 00:00:00’) from hive_sum limit 1; 
    2016

    7、month(string date)

    返回时间字段中的月 
    返回类型:int 

    hive> select month(‘2016-06-01’) from hive_sum limit 1; 
    6

    8、day(string date)

    返回时间字段中的天 
    返回类型:int 

    hive> select day(‘2016-06-01’) from hive_sum limit 1; 
    1

    9、weekofyear(string date)

    返回时间字段是本年的第多少周 
    返回类型:int 

    hive> select weekofyear(‘2016-06-01’) from hive_sum limit 1; 
    22

    10、datediff(string enddate,string begindate)

    返回enddate与begindate之间的时间差的天数 
    返回类型:int 

    hive> select datediff(‘2016-06-01’,’2016-05-01’) from hive_sum limit 1; 
    31

    11、date_add(string date,int days)

    返回date增加days天后的日期 
    返回类型:string 

    hive> select date_add(‘2016-06-01’,15) from hive_sum limit 1; 
    2016-06-16

    12、date_sub(string date,int days)

    返回date减少days天后的日期 
    返回类型:string 

    hive> select date_sub(‘2016-06-01’,15) from hive_sum limit 1; 
    2016-05-17

    喜欢就点赞评论+关注吧

    这里写图片描述

    感谢阅读,希望能帮助到大家,谢谢大家的支持!

    展开全文
  • Hive 时间函数

    千次阅读 2019-06-30 18:24:04
    to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12'); 输出:2015-04-02 from_unixtime:转化unix时间戳到当前时区的时间格式 select from_unixtime(1323308943,’yyyyMMdd’); 输出:20111208 ...
  • HIVE 时间函数

    2020-04-17 13:37:25
    转载链接:...1、to_date:日期时间转日期函数 select to_date(‘2015-04-02 13:34:12’); 输出:2015-04-02 1 2 2、from_unixtime:转化unix时间戳到当前时区的时间格式 select from_unixtime(132...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,131
精华内容 452
关键字:

hive时间函数