目录

一、获取当前时间

二、获取指定时间

三、转换时间格式

【1】to_date(string timestamp)

【2】date_format(date string timestamp,string format)

【3】from_unixtime(bigint unixtime,string format)

【4】unix_timestamp(date string timestamp,string pattern)

【5】其余格式的指定转换 regexp_replace()、from_unixtime(unix_timestamp())

【6】截取和拼接 substr()、concat()

四、计算时间函数

【1】日期加减 date_add(date,int)、add_month(date string timestamp,int)

【2】日期差值 months_between()、datediff()、


一、获取当前时间

--获取当前格式化日期字符串
select current_date()
--获取当前格式化时间字符串
select current_timestamp()
--获取当前unix数字时间戳
select unix_timestamp()
============================
|result|2022-11-242022-11-24 16:10:26 1669277426

二、获取指定时间

--year/quarter/month/day/hour/minute/second() 获取日期中的年/季度/月/日/时/分/秒
select  year(current_date()) as year,quarter(current_date()) as quarter,month(current_date()) as month,day(current_date()) as day,hour(current_timestamp()) as hour,minute(current_timestamp()) as minute,second(current_timestamp()) as second
========================================
|result|
| year | quarter | month | day | hour | minute | second|
| 2022 |    4    |   11  |  24 |  16  |    3   |   42  |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
select  last_day(current_date())--返回当前日期当月的最后一天的日期,next_day(current_date(),'MO')--返回当前日期下周一的日期,例子周一(‘MO’)、下周二(‘TU’)、下周三(‘WE’)、下周四(‘TH’)、下周五(‘FR’)、下周六(‘SA’)、下周日(‘SU’),trunc(current_date(),'MM')--取当前日期月的第一天YYYY/当年的第一天MM
===================================================================================================================================================================
|result|
|     c0     |      c1    |     c2     |
| 2022-11-30 | 2022-11-28 | 2022-11-01 |

三、转换时间格式

【1】to_date(string timestamp)

作用:将格式化日期字符串转换成日期格式 yyyy-MM-dd

返回类型:>>> date

--格式化日期字符串:yyyy-MM-dd
select  to_date('2022-11-24') --日期字符串,to_date('2022-11-24 16:18:21') --时间戳字符串
==========================================================
|result|
|     c0     |     c1     |
| 2022-11-24 | 2022-11-24 |

【2】date_format(date string timestamp,string format)

作用:将格式化日期字符串转换成指定的格式

返回类型: >>> string

select  date_format('2022-11-24','yyyy-MM-dd HH:mm:ss') --yyyy-MM-dd HH:mm:ss,date_format('2022-11-24 16:18:21','yyyy-MM-dd') --yyyy-MM-dd,date_format('2022-11-24 16:18:21','yyyyMMdd') --yyyyMMdd,date_format('2022-11-24','yyyy/MM/dd') --yyyy/MM/dd
===============================================================================
|result|
|         c0         |      c1    |    c2    |     c3     |
| 2022-11-24 00:00:00| 2022-11-24 | 20221124 | 2022/11/24 |

【3】from_unixtime(bigint unixtime,string format)

作用:将 unix 时间戳转换成指定的格式

返回类型: >>> string

select  from_unixtime(1669277426) --yyyy-MM-dd HH:mm:ss,from_unixtime(1669277426,'yyyy-MM-dd') --yyyy-MM-dd,from_unixtime(1669277426,'yyyyMMdd') --yyyyMMdd,from_unixtime(1669277426,'yyyy/MM/dd') --yyyy/MM/dd,from_unixtime(cast(1669277426000/1000 as int))--unixtime为13位的,需先转成10位
===================================================================================
|result|
|         c0         |      c1    |    c2    |     c3     |        c4         |
| 2022-11-24 08:10:26| 2022-11-24 | 20221124 | 2022/11/24 |2022-11-24 08:10:26|

【4】unix_timestamp(date string timestamp,string pattern)

作用:将时间转换成当前时区unix时间戳

注:第一个参数是字符串的时间,第二个 pattern 匹配第一个参数时间字符串格式,识别时间

只传入第一个参数,格式必须是‘yyyy-mm-dd HH:mm:ss’  ,否则返回null

返回类型: >>>  bigint

select  unix_timestamp('2022-11-24 08:10:26')--pattern默认是yyyy-mm-dd HH:mm:ss,unix_timestamp('2022-11-24','yyyy-MM-dd') --yyyy-MM-dd,unix_timestamp('2022-11-24 08:10:26','yyyy-MM-dd HH:mm:ss'),unix_timestamp('2022-11-24','yyyyMMdd')--yyyyMMdd
=================================================================================
|result|
|     c0     |     c1     |     c2     |     c3     |
| 1669277426 | 1669248000 | 1669277426 | 1635724800 |

【5】其余格式的指定转换 regexp_replace()、from_unixtime(unix_timestamp())

select  regexp_replace('2022-11-24','-','/')--将-替换成/ yyyy/MM/dd,regexp_replace('2022/11/24','/','')--yyyyMMdd,from_unixtime(unix_timestamp('20221124','yyyyMMdd'),'yyyy-MM-dd')--yyyy-MM-dd,from_unixtime(unix_timestamp('2022/11/24','yyyy/MM/dd'),'yyyy-MM-dd')--yyyy-MM-dd
=============================================================================================
|result|
|     c0     |    c1    |     c2     |     c3     |
| 2022/11/24 | 20221124 | 2022-11-24 | 2022-11-24 |

【6】截取和拼接 substr()、concat()

select  concat(substr('20221124',1,4),'-',substr('20221124',5,2)),substr('2022-11-24 08:10:26',1,10)
====================================================================
|result|
|    c0   |     c1     |
| 2022-11 | 2022-11-24 |

四、计算时间函数

【1】日期加减 date_add(date,int)、add_month(date string timestamp,int)

返回类型: >>>  date

select  date_add('2022-11-24',1)--必须满足yyyy-MM-dd格式 ,date_add('2022-11-24',-1)--等同于date_sub,add_months('2022-11-24 08:10:26',1),add_months('2022-11-24',-1)
=============================================================
|result|
|     c0     |     c1     |     c2     |     c3     |
| 2022/11/25 | 2022-11-23 | 2022-12-24 | 2022-10-24 |

【2】日期差值 months_between()、datediff()、

注:日期是前减后

select  months_between('2022-11-24','2022-10-24')--日期相同,比较月差值,months_between('2022-11-24','2022-10-25')--日期不同,比较月差值、小数,months_between(concat(substr('2022-11-24',1,7),'-01'),concat(substr('2022-10-27',1,7),'-01'))--日期不同,比较月差值,整数
==================================================================================================================================
|result|
| c0 |     c1     | c2  |
|  1 | 0.96774194 |  1  |
------------------------------------------------------------------------------------------------------------------------------------
select  datediff(current_timestamp(),'2022-10-24'),datediff(current_date() ,'2022-10-25'),datediff('2022-11-24','2022-11-25')
========================================================
|result|
|  c0 | c1 |  c2  |
|  32 | 31 |  -1  |

1/50 hive sql 日期处理函数相关推荐

  1. mysql2000日期加减,SQL日期处理函数DATEADD和DATEDIFF详解

    SQL Server数据库中,DATETIME和SMALLDATETIME的值是存储为整数的.虽然如此,SQL Server数据库并不因此支持对这两种类型的值做数学运算. 不过,我们一定会有给日期或时 ...

  2. sql 日期时间函数+格式转换

    <日期时间函数> (可参考下列表格) 转换函数 to_date() 作用将字符类型按一定格式转化为日期类型: 具体用法:to_date('2004-11-27','yyyy-mm-dd') ...

  3. oracle sql中月份加1,sql日期有关函数以及oracle日期有关函数

    sql日期函数 -- DATEADD -- 在向指定日期加上一段时间的基础上,返回新的 datetime 值. -- DATEADD ( datepart , number, date ) -- 日期 ...

  4. Hive SQL操作与函数自定义(二)

    9 Operators and UDFs 9.1 内置运算符 9.1.1 关系运算符 操作符 运算对象的类型 描述 A <=> B ALL 都是NULL时,返回TRUE,有一为NULL时, ...

  5. SQL 日期转换函数

    SqlServer日期(convert函数,getdate函数) 函数GETDATE()的返回值在显示时只显示到秒.实际上,SQL Sever内部时间可以精确到毫秒级(确切地说,可以精确到3.33毫秒 ...

  6. Oracle PL/SQL——日期时间函数的运用

    建表.数据插入 CREATE TABLE TEST.STU2(SNO VARCHAR2(10) PRIMARY KEY,SNAME VARCHAR2(10),SGENTLE VARCHAR2(2),S ...

  7. Apache Hive DML语句与函数使用

    文章目录 Apache Hive DML语句与函数使用 一.Hive SQL DML语法之**加载数据** (1). 掌握Hive SQL Load加载数据语句 什么是本地? (2).掌握Hive S ...

  8. 【Hive SQL】常用日期函数汇总

    目录 时间戳和日期相互转换函数: unix_timestamp :日期格式转换成时间戳 from_unixtime :时间戳转换成日期格式函数 current_timestamp: 获取当前的时间戳 ...

  9. Hive Sql 大全(hive函数,hive表)

    Hive Sql 大全 本节基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类: 一.DDL语句(数据定义语句): 对数据库的操作:包含创建.修改数据库 对数据表的操作 ...

最新文章

  1. 笔记-多项式相关操作
  2. Myeclipse学习总结(10)——MyEclipse2014导入项目时The project was not built since its build问题...
  3. opencv画线和文字
  4. 某中介无线组网及***接入应用案例
  5. android多线程中更新ui,Android 在子线程中更新UI
  6. Application.messagebox对话框样式
  7. python同构数_用c语言求1到1000的同构数_后端开发
  8. 什么是CAD?制图CAD要怎么开始学习?
  9. POJ——多项式加法(WA)
  10. 如何显示密件抄送人员地址_什么是密件抄送,以及为什么不使用它会成为一个可怕的人...
  11. 家居风水大全[ZT:http://sssyyyccc.blog.hexun.com/2641355_d.html]
  12. 词性、句法分析、依存关系的符号解释
  13. (转)iOS应用架构谈 本地持久化方案及动态部署
  14. 前端开发者如何与UI设计师沟通
  15. html表单日期选择器ppt,DatePicker 日期选择框
  16. 公路水运工程安全电子光盘_公路水运工程施工安全标准化.pdf
  17. 大头贴制作大师 6.9.5 下载
  18. 北风吹战鼓雷(实验平台的搭建)1
  19. 华为面试题(西安研究所)
  20. 工程伦理第十章习题答案

热门文章

  1. 【C++】 strcasecmp函数
  2. Fabulous — fabulous v0.1.5 documentation
  3. 在电脑插上电源充电情况下开机 自动进入bios setup utility
  4. 自然语言处理前沿研究之细粒度情感分析
  5. 树莓派 小屏幕_小技巧:树莓派花式截屏
  6. 一文学会随机森林在sklearn中的实现
  7. 长虹电视新机测试什么软件,长虹CHiQ电视系统首次迭代详解
  8. python 类的执行中保部存值_Python DLL 读写Ntag21x标签
  9. 华为g9android,华为G9青春版有几个版本?双4G与全网通版区别【详解】
  10. Serverless 架构演进与实践