一、参考日期为当前日期

以当前系统日期作为参考日期,将其转换为统一的天维度yyyyMMdd数据格式。 例如当前日期为2021-01-29

昨天

方式一:date_format(date_sub(current_date(),1), 'yyyyMMdd')

 
  1. select date_format(date_sub(current_date(),1), 'yyyyMMdd')
  2. 20210128

方式二:date_format(date_sub(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),1),'yyyyMMdd')

 
  1. select date_format(date_sub(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),1),'yyyyMMdd')
  2. 20210128

方式三:date_format(date_sub(to_date(current_date()),1),'yyyyMMdd')

 
  1. select date_format(date_sub(to_date(current_date()),1),'yyyyMMdd')
  2. 20210128

本月

from_unixtime(unix_timestamp(), 'yyyyMM')

 
  1. select from_unixtime(unix_timestamp(), 'yyyyMM')
  2. 202101

本月月初

CONCAT(from_unixtime(unix_timestamp(), 'yyyyMM'),'01')

 
  1. select CONCAT(from_unixtime(unix_timestamp(), 'yyyyMM'),'01')
  2. 20210101

上月同期

date_format(add_months(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),-1),'yyyyMMdd')

 
  1. select date_format(add_months(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),-1),'yyyyMMdd')
  2. 20201229

上月月初

CONCAT(date_format(add_months(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),-1),'yyyyMM'),'01')

 
  1. select CONCAT(date_format(add_months(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),-1),'yyyyMM'),'01')
  2. 20201201

上月月末

date_format(date_sub(from_unixtime(unix_timestamp(CONCAT(from_unixtime(unix_timestamp(), 'yyyyMM'),'01'), 'yyyyMMdd'), 'yyyy-MM-dd'),1),'yyyyMMdd')

 
  1. select date_format(date_sub(from_unixtime(unix_timestamp(CONCAT(from_unixtime(unix_timestamp(), 'yyyyMM'),'01'), 'yyyyMMdd'), 'yyyy-MM-dd'),1),'yyyyMMdd')
  2. 20201231

去年同期

date_format(add_months(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),-12),'yyyyMMdd')

 
  1. select date_format(add_months(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),-12),'yyyyMMdd')
  2. 20200129

去年同期月初

CONCAT(date_format(add_months(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),-12),'yyyyMM'),'01')

 
  1. select CONCAT(date_format(add_months(from_unixtime(unix_timestamp(), 'yyyy-MM-dd'),-12),'yyyyMM'),'01')
  2. 20200101

二、参考日期为指定日期

指定时间格式为yyyMMdd

昨天

date_format(date_sub(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),1),'yyyyMMdd')

 
  1. select date_format(date_sub(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),1),'yyyyMMdd')
  2. 20210128

本月

substr('20210129',1,6)

 
  1. select substr('20210129',1,6)
  2. 202101

本月月初

CONCAT(substr('20210129',1,6),'01')

 
  1. select CONCAT(substr('20210129',1,6),'01')
  2. 20210101

上月同期

date_format(add_months(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),-1),'yyyyMMdd')

 
  1. select date_format(add_months(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),-1),'yyyyMMdd')
  2. 20201229

上月月初

CONCAT(date_format(add_months(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),-1),'yyyyMM'),'01')

 
  1. select CONCAT(date_format(add_months(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),-1),'yyyyMM'),'01')
  2. 20201201

上月月末

date_format(date_sub(from_unixtime(unix_timestamp(CONCAT(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyyMM'),'01'), 'yyyyMMdd'), 'yyyy-MM-dd'),1),'yyyyMMdd')

 
  1. select date_format(date_sub(from_unixtime(unix_timestamp(CONCAT(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyyMM'),'01'), 'yyyyMMdd'), 'yyyy-MM-dd'),1),'yyyyMMdd')
  2. 20201231

去年同期

date_format(add_months(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),-12),'yyyyMMdd')

 
  1. select date_format(add_months(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),-12),'yyyyMMdd')
  2. 20200129

去年同期月初

CONCAT(date_format(add_months(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),-12),'yyyyMM'),'01')

 
  1. select CONCAT(date_format(add_months(from_unixtime(unix_timestamp('20210129', 'yyyyMMdd'), 'yyyy-MM-dd'),-12),'yyyyMM'),'01')
  2. 20200101

转载: http://www.saoniuhuo.com/article/detail-1181.html

Hive 常用日期处理-昨天、本月、上月同期、去年同期、月初、月末等相关推荐

  1. 【hive 日期函数】Hive常用日期函数整理

    1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12'); 输出:2015-04-02 1 2 2.from_unixtime:转化unix时 ...

  2. 【hive 日期函数 大全】Hive常用日期函数整理 史上最全

    [hive 日期函数 大全]Hive常用日期函数整理注意:1) hive 没有 to_char函数 2) HIVE 日期函数只识别 年-月-日 不能识别 年-月 ,所以处理月份的时候需要特殊处理1)h ...

  3. Hive常用日期格式转换

    固定日期转换成时间戳 select unix_timestamp('2016-08-16','yyyy-MM-dd') --1471276800 select unix_timestamp('2016 ...

  4. 【hive日期函数】hive常用日期函数+扩展

    日期函数 1.from_unixtime:转化unix时间戳到当前时区的时间格式  select from_unixtime(1641044052,'yyyyMMdd'); --输出:20220101 ...

  5. Calendar日期类获取上月同期需求

    业务需求:获取昨天,前天,以及上月同期时间的数据 首先我想到的是使用日期类Calendar去处理,Calender是java自带的一个用于日历的类,方便处理此类的时间问题. 在处理上月同期的时候我遇到 ...

  6. Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数

    hive 常用运算 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比 ...

  7. hive获取月份_【Hive】Hive中常用日期函数整理

    前言 使用hive进行时间处理的过程中,有时忘记一些常用的函数用法,现整理一下hive中常用日期函数,当做备忘录使用,忘记来翻阅一下. 1 时间戳转化日期函数 时间戳必须是10位,默认情况下转化为'y ...

  8. [Hive举例]-- hive获取今天、昨天、明天和前一个小时、后一个小时的日期

    主题:解决hive获取今天.昨天.明天的日期的问题 注意:由于hive内置函数中,没有提供获取昨天和明天的日期函数,所以需要编写自定义函数去实现 1.获取今天时间(格式可以自定义) 语句: selec ...

  9. Hive常用函数(日期函数,取整函数,字符串操作函数,集合操作函数)

    常用函数 常用日期函数 常用取整函数 常用字符串操作函数 集合操作函数 多维分析 常用日期函数 unix_timestamp:返回当前或指定时间的时间戳 select unix_timestamp() ...

最新文章

  1. TikTok跨境出海:Tiktok怎么月入几十W?
  2. Android init.rc文件解析过程详解(一)
  3. Codechef Yet another cute girl
  4. android中按一个按钮弹出字,允许用户在Android中长按一次即可编辑按钮文字
  5. 浮动div,回到顶部
  6. 基于Hibernate+spring的公司网站打造中(二)
  7. Android地图权限处理,Android 使用地图时的权限请求方法
  8. Linux中inode值是什么?
  9. input验证码框,输入非数字或非12位时,红框提示;每4位加一个空格
  10. Git使用-.gitignore文件(使一些文件不上传到git)
  11. 《iVX 高仿美团APP制作移动端完整项目》07 会员页制作
  12. 中国计算机省份排名,大变局开启!2019全国各省GDP排名出炉,哪些省份掉队了?...
  13. 微服务拆分策略和原则
  14. c++调节控制台字体(c++入门练习)
  15. ubuntu 8.10安装配置经验(Intrepid Ibex)——转载
  16. 【中兴交换机MC-LAG配置】
  17. 计算机网络安全面试问题,2016计算机信息安全工程师面试题及答案
  18. 51单片机学习笔记【七】——蜂鸣器和继电器
  19. 家电售后php网站源码,php家电维修源码-第一次接触php语言的最经典,最简单的源代码!!!!!!!!!!-电气资讯 - 电工屋...
  20. JavaScript判断设备类型的实现

热门文章

  1. 正则表达式二:正则表达式元字符
  2. 工业相机的传感器靶面大小
  3. Android Dialer源码分析之拨号主界面ListsFragment
  4. 论文阅读(2021) 探讨语境在会话中话语层情绪、行为和意图分类中的作用
  5. socket.py line224 in meth return getattr(self._sock, name)(*args) error:[Error 2] No such file or di
  6. csgo国服社区服务器维护怎么玩,国服CSGO社区服玩法不“正经” 居然还能组队打僵尸!...
  7. SAP R/3,SAP ECC 和 SAP S/4HANA 的联系和区别
  8. api-project使用帮助文档
  9. LeetCode 160. 相交链表
  10. PyCharm - 码云(Gitee)