Hive时间格式处理

  • 时间格式转换2020-09-19 00:15:32=>20200919
  • 时间格式计算

时间格式转换2020-09-19 00:15:32=>20200919

原时间格式:2020-09-19 00:15:32
目标格式:20200919
首先使用Hive的函数进行转换

 1. to_date('2020-09-19 00:15:32') ==> 2020-09-192. regexp_replace('2020-09-19','-','')==> 20200919

结果语句:

regexp_replace(to_date('2020-09-19 00:15:32'),'-','') ==> 20200919

时间格式计算

两个秒级时间格式进行相减得到分钟数

原始数据:

2020-09-19 00:12:01

2020-09-19 00:11:46

使用的hive函数为: unix_timestamp :获取当前时间戳

同时使用的是日期转时间戳

unix_timestamp('2020-09-19 00:12:01') - unix_timestamp('2020-09-19 00:11:46')
  1. 当只有一个参数时 unix_timestamp(string timestame),此时输入的参数必须为’yyyy-MM-dd HH:mm:ss’格式,否则返回null
    select unix_timestamp(‘2019-08-15 16:40:00’) --1565858400
    select unix_timestamp(‘2019-08-15’) --null

  2. 当有两个参数时,此时需要保证两个参数的对应关系
    select unix_timestamp(‘2019-08-15’,‘yyyy-MM-dd’) --1565798400
    select unix_timestamp(‘2019-08-15 16:40:00’,‘yyyy-MM-dd HH:mm:ss’) --1565858400
    select unix_timestamp(‘2019-08-15’,‘yyyy-MM-dd HH:mm:ss’) --null

最后的结算的结果为:

ceil((unix_timestamp('2020-09-19 00:12:01') - unix_timestamp('2020-09-19 00:11:46'))/60 分钟数(向上取整)ceil((unix_timestamp('2020-09-19 00:12:01') - unix_timestamp('2020-09-19 00:11:46'))/60/60 小时数(向上取整)
select datediff(from_unixtime(unix_timestamp('20150514','yyyyMMdd'),'yyyy-MM-dd'),from_unixtime(unix_timestamp('20150415','yyyyMMdd'),'yyyy-MM-dd')) from mid.dual;
结果为:29
select datediff(from_unixtime(unix_timestamp('20150514','yyyyMMdd'),'yyyy/MM/dd') , from_unixtime(unix_timestamp('20150415','yyyyMMdd'),'yyyy/MM/dd')) from mid.dual;
结果为null
Hive不支持‘/’的日期相减

Hive时间格式转换相关推荐

  1. sqoop导入hive时间格式问题解决方案

    sqoop导入hive时间格式问题解决方案 从mysql导入数据时,发现时间格式有问题,要么是时间后面多一位零,要么要使用时间戳,还能不能好好玩耍了?! 于是,我就逛论坛,找大神,最终无果,也许这个问 ...

  2. 语言 全排列 函数_Power Query 中日期时间格式转换需要了解的区域语言对照表

    不同的国家有不同的日期时间书写格式,比如: 多数亚洲国家:yyyy-MM-dd hh:mm 有些欧洲国家:dd.MM.yyyy HH:mm 极少数的国家:MM/dd/yyyy h:mm tt 还有各种 ...

  3. scala 时间格式转换(String、Long、Date)

    1)scala 时间格式转换(String.Long.Date) 1.时间字符类型转Date类型 [java] view plain copy import java.text.SimpleDateF ...

  4. SQL时间格式转换CONVERT_GETDATE()

    SQL时间格式转换CONVERT_GETDATE() SQL时间格式转换: View Code 年月日 SELECT CONVERT(varchar, GETDATE(), 102) AS DateT ...

  5. java定义时间格式大全_Java时间格式转换大全

    package com.date; import java.text.DateFormat; import java.text.ParseException; import java.text.Par ...

  6. java格式_java时间格式转换大全

    Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @ ...

  7. html fmt转换日期格式,js通用时间格式转换函数

    js通用时间格式转换函数 //使用函数的方式进行定义 function dateFormat(fmt,date){ var o = { "M+" : date.getMonth() ...

  8. 处理时间_6_SQL Server常见的时间格式转换

    列出常见的时间格式转换方法 需求描述 需求:对当前系统时间进行常见的时间格式转换. 解决方法:通过CONVERT函数来完成,该函数的格式参数可以指定时间的样式. 注:当前演示数据库为SQL Serve ...

  9. php把时间格式转换为时间戳,php如何将时间格式转换成时间戳?

    php时间格式转换为时间戳的方法:1.使用mktime()将时间转换为时间戳,语法为"mktime(小时.分钟.秒.月.日.年)":2.使用strtime()将字符串表示的日期转换 ...

最新文章

  1. java oralce merge_mybatis 使用oracle merge into 语句踩坑实录(示例代码)
  2. QQ采用什么传输协议?
  3. (转)jQuery插件:Image lazy loader图片延迟加载
  4. 小白学算法:买卖股票的最佳时机!
  5. 从前端html 来限制删除去掉csdn页面广告
  6. 德国拜尔集团迎来人工智能专家--李飞飞
  7. c++ string 数组_PHP数组与字符串之间相互转换的方法
  8. 电脑dns_女生也能学会的修电脑技巧
  9. 开发打开设置洁面_用了两到三年的华为手机,一键打开开发者选项,帮助性能加速...
  10. Runtime底层原理探究(二) --- 消息发送机制(慢速查找)
  11. 再见,Python2。你好,Python3
  12. OpenCV-图像处理- Java(读取与显示图片)
  13. )C# Enum,Int,String的互相转换 枚举转换
  14. Linux深度学习框架安装
  15. Windows系统用户目录Users迁移教程
  16. 无线键盘全国产化电子元件推荐方案
  17. C语言学习之指针 *p++、*(p++)、(*p)++
  18. 适用于 GNU/Linux 的字型
  19. 肉牛养殖前景好,他尝到甜头带富了贫困户
  20. linux--redis安装

热门文章

  1. 流利阅读 2019.3.5 Your friends’ social media posts are making you spend more money, researchers say
  2. Substance风格无法设置水印效果的处理
  3. Quidem repellendus similique reiciendis quas.ExTable blond sorte bcepturi voluptatibus ipsa aliquid.
  4. 对话框AlertDialog的使用
  5. 基于enc28j60的学习心得
  6. java如何获取手机号码归属地_在java中如何根据手机号查询号码归属地
  7. 世界上最远的距离——泰戈尔
  8. [转]如何降低二手烟的危害
  9. 字节跳动算法一面2-120201106
  10. 鸿蒙试用体验,华为手机鸿蒙OS 2.0试用体验:手表可接收滴滴网约车动态 抬腕可看导航路线...