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...

数据库 相关文章推荐
SQL SERVER中常用日期函数的具体使用
Apr 08 SQL Server
Mysql MVCC机制原理详解
Apr 20 MySQL
MySql学习笔记之事务隔离级别详解
May 12 MySQL
解决Navicat for Mysql连接报错1251的问题(连接失败)
May 27 MySQL
mongodb数据库迁移变更的解决方案
Sep 04 MongoDB
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
Mysql超详细讲解死锁问题的理解
Apr 01 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
Apr 02 MySQL
Redis实战高并发之扣减库存项目
Apr 14 Redis
MySQL控制流函数(-if ,elseif,else,case...when)
Jul 07 MySQL
如何使用注解方式实现 Redis 分布式锁
Jul 23 Redis
MySQL存储过程及语法详解
Aug 05 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
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
浅析vue数据绑定
2017/01/17 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
Angular路由ui-router配置详解
2018/08/01 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
Django密码系统实现过程详解
2019/07/19 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
Python文件操作方法详解
2020/02/09 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
四风问题自查报告剖析材料
2014/02/08 职场文书
骨干教师考核方案
2014/05/09 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
导游词之无锡唐城
2019/12/12 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python