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执行过程以及顺序
May 12 MySQL
.Net Core导入千万级数据至Mysql的步骤
May 24 MySQL
MySQL 外键约束和表关系相关总结
Jun 20 MySQL
MySQL系列之十五 MySQL常用配置和性能压力测试
Jul 02 MySQL
SQL实现LeetCode(196.删除重复邮箱)
Aug 07 MySQL
sql时间段切分实现每隔x分钟出一份高速门架车流量
Feb 28 SQL Server
MySQL优化及索引解析
Mar 17 MySQL
浅谈MySQL中的六种日志
Mar 23 MySQL
MySQL学习必备条件查询数据
Mar 25 MySQL
Windows下载并安装MySQL8.0.x 版本的完整教程
Apr 10 MySQL
基于Redission的分布式锁实战
Aug 14 Redis
mysql通过group by分组取最大时间对应数据的两种有效方法
Sep 23 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
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
2015/11/30 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
详解Bootstrap的iCheck插件checkbox和radio
2016/08/24 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
2019/07/13 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
Python MySQLdb Linux下安装笔记
2015/05/09 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
python issubclass 和 isinstance函数
2019/07/25 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
会计出纳岗位职责
2013/12/25 职场文书
聘用意向书
2014/07/29 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
小学体育组工作总结2015
2015/07/21 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
基于Python的EasyGUI学习实践
2021/05/07 Python
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python