当前位置: 首页 > news >正文

Hive学习(12)Hive常用日期函数

1、hive返回当天三种方式

select current_date; --返回年月日
--2017-06-15
select current_timestamp;	--返回年月日时分秒
--2017-06-15 19:54:44
SELECT from_unixtime(unix_timestamp());
--2017-06-15 19:55:04

2、from_unixtime:转化unix时间戳到当前时区的时间格式

select from_unixtime(1323308943,’yyyyMMdd’);
--输出:20111208

3、unix_timestamp:获取当前unix时间戳

select unix_timestamp();
--输出:1430816254
select unix_timestamp('2015-04-30 13:51:20');
--输出:1430373080

4、year:返回日期中的年

select year('2015-04-02 11:32:12');
--输出:2015

5、month:返回日期中的月份

select month('2015-12-02 11:32:12');
--输出:12

6、day:返回日期中的天

select day('2015-04-13 11:32:12');
--输出:13

7、hour:返回日期中的小时

select hour('2015-04-13 11:32:12');
--输出:11

8、minute:返回日期中的分钟

select minute('2015-04-13 11:32:12');
--输出:32

9、second:返回日期中的秒

select second('2015-04-13 11:32:56');
--输出:56

10、weekofyear:返回日期在当前周数

select weekofyear('2015-05-05 12:11:1');
--输出:19

11、datediff:返回开始日期减去结束日期的天数

select datediff('2015-04-09','2015-04-01');
--输出:8

12、date_sub:返回日期前n天的日期

select date_sub('2015-04-09',4);
--输出:2015-04-05

13、date_add:返回日期后n天的日期

select date_add('2015-04-09',4);
--输出:2015-04-13

14、from_unixtime+ unix_timestamp Hive中yyyymmdd和yyyy-mm-dd日期之间的切换

思想:先转换成时间戳,再由时间戳转换为对应格式。
--20171205转成2017-12-05 
select from_unixtime(unix_timestamp('20171205','yyyymmdd'),'yyyy-mm-dd') from dual;--2017-12-05转成20171205
select from_unixtime(unix_timestamp('2017-12-05','yyyy-mm-dd'),'yyyymmdd') from dual;

15:Hive中取最近30天数据

datediff(CURRENT_TIMESTAMP ,gmt_create)<=30 

16、Hive中 两个日期相差多少小时

select (unix_timestamp('2018-05-25 12:03:55') - unix_timestamp('2018-05-25 11:03:55'))/3600
--输出:1

17、Hive中 两个日期相差多少分钟

select (unix_timestamp('2018-05-25 12:03:55') - unix_timestamp('2018-05-25 11:03:55'))/60
--输出:60

18、hive 计算某一个日期属于星期几,如2018-05-20 是星期日

SELECT IF(pmod(datediff('2018-05-20', '1920-01-01') - 3, 7)='0', 7, pmod(datediff('2018-05-20', '1920-01-01') - 3, 7)) 
--输出:7

19、hive返回上个月第一天和最后一天

--上个月第一天
select trunc(add_months(CURRENT_TIMESTAMP,-1),'MM')select concat(substr(add_months(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),-1),1,7),'-01'); --上个月最后一天
select date_sub(trunc(CURRENT_TIMESTAMP,'MM'),1);

20、to_date:日期时间转日期函数

select to_date('2015-04-02 13:34:12');
--输出:2015-04-02

21、返回当月的第一天

select trunc('2016-08-16','MM') 
--2016-08-01

参考::
https://blog.csdn.net/u013421629/article/details/80450047
https://blog.51cto.com/u_12228/6473685

http://www.lryc.cn/news/149812.html

相关文章:

  • PowerQuery动态加载M公式
  • 2分钟搭建FastGPT训练企业知识库AI助理(Docker部署)
  • TDengine函数大全-字符串函数
  • part-02 C++知识总结(类型转换)
  • stable diffusion实践操作-图生图
  • Jtti:Ubuntu18.04如何修改远程ssh端口号
  • 微软表示Visual Studio的IDE即日起开启“退休”倒计时
  • 好马配好鞍:Linux Kernel 4.12 正式发布
  • element——switch接口成功后赋值打开开关
  • WPF Border设置渐变色
  • SAP_ABAP_OLE_EXCEL批导案例
  • MySQL以及版本介绍
  • stm32 iap sd卡升级
  • D358周赛复盘:哈希表模拟⭐⭐+链表乘法翻倍运算(先反转)⭐⭐⭐
  • java八股文面试[数据库]——索引的基本原理、设计原则
  • 2023年京东方便食品行业数据分析(京东数据报告)
  • 无涯教程-Android - Style Demo Example函数
  • 【算法训练-字符串 二】最长回文子串
  • 结合OB Cloud区别于MySQL的4大特性,规划降本方案
  • 题目有点太简单了,不知道怎么选了
  • Bug:mac上运行go run main.go 报错,fork/exec /var/fold/T/go-build269/b001/ex
  • CSRF与XSS结合利用
  • 【爬虫】实验项目一:文本反爬网站的分析和爬取
  • DEAP库文档教程二-----创建类型
  • Axure RP美容美妆医美行业上门服务交互原型图模板源文件
  • 【SpringBoot】用SpringBoot代码详细解释<List>的用法
  • HRS--人力资源系统(Springboot+vue)--打基础升级--(六)分页查询 + 重置按钮
  • JavaScript设计模式(二)——简单工厂模式、抽象工厂模式、建造者模式
  • DEAP库文档教程五----计算统计
  • 新型安卓恶意软件使用Protobuf协议窃取用户数据