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

hive 中最常用日期处理函数

hive 常用日期处理函数

在工作中,日期函数是提取数据计算数据必须要用到的环节。哪怕是提取某个时间段下的明细数据也得用到日期函数。今天和大家分享一下常用的日期函数。为什么说常用呢?其实这些函数在数据运营同学手上是几乎每天都在使用的。

技术交流

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

相关文件及代码都已上传,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:dkl88194,备注:来自CSDN + 加群
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

序号hive日期函数函数用法含参方式备注
1to_date转化成日期to_date('string  time')to_date('2023-5-20  05:20:00')
   输出:2023-5-20
2from_unixtime转化unix时间戳到当前时区的时间格式from_unixtime(bigint  unixtime,[string format])select  from_unixtime(1684559640,'yyyyMMdd');
   输出:20230520
3unix_timestamp日期转化为unix时间戳unix_timestamp(string  format)select  unix_timestamp();
   输出:1684559640
   select unix_timestamp('2023-05-20 13:14:00');
   输出:1684559640
4date2datekeydate格式转化成datekeydate2datekey(string  date/time)date2datekey('2023-05-20')
   输出:20230520
5datekey2datedatekey格式转化为datedatekey2date(string  datekey)datekey2date('20230520')
   输出:2023-05-20
6datediff返回开始日期减去结束日期的天数datediff(string  enddate ,string begindate)select  datediff('2023-05-20','2023-05-18');
   输出:2
7date_sub返回日期前n天的日期date_sub(string  startdate,int days )date_sub('2023-05-20',2  )
   输出:2023-05-18
8date_add返回日期后n天的日期date_add(string  startdate,int days )date_add('2023-05-20',2  )
   输出:2023-05-22
9year返回日期中的年year(string  date)year('2023-05-20  11:32:12');
   输出:2023
10month返回日期中的月份month(string  date)month('2023-05-20  11:32:12');
   输出:05
11day返回日期中的天day(string  date)day('2023-05-20  11:32:12');
   输出:20
12hour返回日期中的小时hour(string  date)hour('2023-05-20  11:32:12');
   输出:11
13minute返回日期中的分钟minute(string  date)minute('2023-05-20  11:32:12');
   输出:32
14second返回日期中的秒second(string  date)second('2023-05-20  11:32:12');
   输出:12
15weekofyear返回日期在当前周数weekofyear(string  date)weekofyear('2023-05-20  11:32:12');
   输出:20
16unix_timestamp格式是timestamp,精确到秒unix_timestamp(ymdhms2)  - unix_timestamp(ymdhms1)
   -- 计算2个时间相差的秒数
       (unix_timestamp(time1)-unix_timestamp(time2))
   -- 同理,若是计算相差的分钟,就在以上基础再除以60,小时,天数也是同理
       (unix_timestamp(time1)-unix_timestamp(time2))/60
   -- 根据上述的函数计算后,发现有小数点,可用cast优化为以下
       cast((unix_timestamp(time1)-unix_timestamp(time2))/60 as int)
   -- 相差的秒数。
      CAST((unix_timestamp() - unix_timestamp(ymdhms))  % 60 AS int)
   -- 相差的分钟数。
      CAST((unix_timestamp() -  unix_timestamp(ymdhms)) / 60 AS int) % 60
   -- 相差的小时数。
      CAST((unix_timestamp() - unix_timestamp(ymdhms))  / (60 * 60) AS int) % 24
   -- 相差的天数。
      concat(CAST((unix_timestamp() -  unix_timestamp(ymdhms)) / (60 * 60 * 24) AS int) 
http://www.lryc.cn/news/121737.html

相关文章:

  • 记录一下Java实体转json字段顺序问题
  • 微积分入门:总结归纳汇总(一)
  • ubuntu python虚拟环境venv搭配systemd服务实战(禁用缓存下载--no-cache-dir)
  • 案例15 Spring Boot入门案例
  • 物联网是下一个风口吗?
  • 8月9日上课内容 nginx反向代理与负载均衡
  • 易服客工作室:Elementor AI简介 – 彻底改变您创建网站的方式
  • ClickHouse的数据类型
  • 计算机网络—IP
  • Java 的 Stream
  • SolidUI社区-Discord
  • Spring MVCSpring Boot
  • 01-集群安装JDK(普通用户)
  • 小龟带你妙写排序之选择排序
  • 深入解析 SOCKS5 代理及其在网络安全与爬虫中的应用
  • day9 10-牛客67道剑指offer-JZ66、19、20、75、23、76、8、28、77、78
  • 气体检测仪语音报警芯片,可自行烧录的音频芯片,WT588F02B-8S
  • gdb 调试汇编
  • WebRTC音视频通话-新增或修改SDP中的码率Bitrate限制
  • 深入理解与运用Android Jetpack ViewModel
  • 【数据库】P0 创建数据库环境 MySQL + DataGrip
  • js设置css变量控制页面一行展示指定个数的元素
  • 4.0 Spring Boot入门
  • [国产MCU]-BL602开发实例-I2C与总线设备地址扫描
  • Python Opencv实践 - 图像平移
  • 易服客工作室:WordPress 6.3性能改进
  • LeetCode 周赛上分之旅 #39 结合中心扩展的单调栈贪心问题
  • 山东布谷科技直播软件开发WebRTC技术:建立实时通信优质平台
  • Golang-语言源码级调试器 Delve
  • 构建Docker容器监控系统(Cadvisor +InfluxDB+Grafana)