Hive日期格式转换方法总结


Posted in 数据库 onJune 25, 2022

背景

日期计算平时在业务取数时经常涉及到,但是数据库中经常存放着不同的日期格式,有的存放是时间戳、有的是字符串等,这时需要对其进行转换才能提取到准确的数据,这里介绍的均是hive里面的函数功能,以下内容均是业务的数据需求经常使用的部分

时间戳

unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒,一般为10位的整数

时间戳

字符串日期:'2021-10-21 19:25:50','2021-10-21 20:25:50.0','2021-10-21 20:25'

日期格式转换

时间戳--->正常的日期格式

  • 获取当前时间戳
select unix_timestamp()
  • 把时间戳转为正常的日期
select from_unixtime(unix_timestamp(),'yyyy-MM-dd hh:mm:ss') as dt
  • 业务中有时存放的是包含毫秒的整数,需要先转换为秒
select from_unixtime(cast(create_time/1000 as bigint),'yyyyMMdd') as dt

字符串日期假如数据库存放的是格式为:"yyyy-MM-dd hh:mm:ss"

  • 截取日期部分
select substr('2021-10-22 17:34:56',1,10)
2021-10-22
  • 字符串强制转换,获取日期
select to_date('2021-10-22 17:34:56')
2021-10-22
  • 也可以通过date_format实现
select date_format('2021-10-22 17:34:56','yyyy-MM-dd')
2021-10-22

系统当前日期

  • 当前日期
select current_date();
2021-10-22
  • 字符串日期与系统当前日期比较,这个在业务中经常有用到
select substr('2021-10-22 17:34:56',1,10)>current_date()
false

前一日/昨日

select date_sub(current_date(),1);
2021-10-21

前一日12点/昨日12点在业务中与截取的字符串日期进行比较时用

select concat(date_format(date_sub(current_date(),1),'yyyy-MM-dd'),' ','12');
2021-10-21 12

最近一个月/30天

select date_sub(current_date(),30);
2021-09-22

当月第一天业务中经常用在滚动计算当月每日的业绩数据

select date_format(to_date(trunc(current_date(),'MM')),"yyyy-MM-dd");
2021-10-01

日期格式转换 yyyyMMdd--->yyyy-MM-dd

select from_unixtime(unix_timestamp('20211022','yyyyMMdd'),"yyyy-MM-dd");
2021-10-22

两个日期相隔天数

select datediff('2021-10-22', '2021-10-01');
21

以上就是Hive日期格式转换方法总结的详细内容,更多关于Hive日期格式转换的资料请关注三水点靠木其它相关文章!


Tags in this post...

数据库 相关文章推荐
MySQL Innodb关键特性之插入缓冲(insert buffer)
Apr 08 MySQL
解读MySQL的客户端和服务端协议
May 10 MySQL
MySQL的安装与配置详细教程
Jun 26 MySQL
MySQL连表查询分组去重的实现示例
Jul 01 MySQL
MySQL系列之十二 备份与恢复
Jul 02 MySQL
MySQL中int (10) 和 int (11) 的区别
Jan 22 MySQL
一文搞懂Redis中String数据类型
Apr 03 Redis
SQL Server中使用表变量和临时表
May 20 SQL Server
MySQL串行化隔离级别(间隙锁实现)
Jun 16 MySQL
MySQL数据库实验实现简单数据库应用系统设计
Jun 21 MySQL
MySQL存储过程及语法详解
Aug 05 MySQL
MySQL 原理与优化之Update 优化
Aug 14 MySQL
PostgreSQL怎么创建分区表详解
Jun 25 #PostgreSQL
Mysql中的触发器定义及语法介绍
Jun 25 #MySQL
Hive常用日期格式转换语法
Jun 25 #数据库
MySQL数据库配置信息查看与修改方法详解
Jun 25 #MySQL
SQL语句中EXISTS的详细用法大全
Jun 25 #MySQL
Oracle数据库事务的开启与结束详解
Jun 25 #Oracle
MySQL约束(创建表时的各种条件说明)
Jun 21 #MySQL
You might like
PHP初学入门
2006/11/19 PHP
PHP Mysql编程之高级技巧
2008/08/27 PHP
PHP实现多条件查询实例代码
2010/07/17 PHP
微信公众平台之快递查询功能用法实例
2015/04/14 PHP
PHP实现在线阅读PDF文件的方法
2015/06/23 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
Function.prototype.bind用法示例
2013/09/16 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
jQuery实现给页面换肤的方法
2015/05/30 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
js中的面向对象之对象常见创建方法详解
2019/12/16 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
Python中IPYTHON入门实例
2015/05/11 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
Python可变和不可变、类的私有属性实例分析
2019/05/31 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
技能比赛获奖感言
2014/02/14 职场文书
团购业务员岗位职责
2014/03/15 职场文书
演讲比赛策划方案
2014/06/11 职场文书
上海世博会口号
2014/06/19 职场文书
党代会心得体会
2014/09/04 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
故意伤害辩护词
2015/05/21 职场文书
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏