【Hive SQL】常用日期函数汇总
目录
时间戳和日期相互转换函数:
unix_timestamp :日期格式转换成时间戳
from_unixtime :时间戳转换成日期格式函数
current_timestamp: 获取当前的时间戳
to_date: 将日期由字符串类型转换成日期类型
转特定日期单位的函数:
year: 获取年份
month: 获取月份
day: 获取某天
hour: 获取小时
date_diff: 获取相差天数
获取特定日期函数:
date_sub: 获取某个日期前X天的日期
date_add: 获取某个日期后X天的日期
last_day: 获取某月最后一天
next_day: 获取下一周星期几的日期
current_date: 获取某月最后一天
实用案例:
时间格式YYYYMMDD转换成YYYY-MM-DD
时间戳和日期相互转换函数:
unix_timestamp :日期格式转换成时间戳
语法:
unix_timestamp([expr [, fmt] ] )
返回当前时间或指定时间的 UNIX 时间戳。
expr
:采用有效日期/时间格式的可选日期、时间戳或字符串表达式。fmt
:在expr
为字符串时,指定格式的可选字符串表达式。
示例:
> SELECT unix_timestamp('2016-04-08', 'yyyy-MM-dd');1460041200
from_unixtime :时间戳转换成日期格式函数
语法:
from_unixtime(unixTime [, fmt])
在 fmt
中返回 unixTime
。
unixTime
:BIGINT 表达式,表示自 1970-01-01 00:00:00 以来已经过去的秒数。fmt
:可选的具有有效格式的 STRING 表达式。
示例:
> SELECT from_unixtime(0, 'yyyy-MM-dd HH:mm:ss');1970-01-01 00:00:00
> SELECT from_unixtime(0);1970-01-01 00:00:00
current_timestamp: 获取当前的时间戳
语法:
current_timestamp()
返回查询计算开始时的当前时间戳。
示例:
> SELECT current_timestamp();2022-09-26 00:18:11.914
to_date: 将日期由字符串类型转换成日期类型
语法:
to_date(expr [, fmt] )
返回使用可选格式设置将 expr
转换为日期后的值。
expr
:表示日期的 STRING 表达式。fmt
:一个可选格式 STRING 表达式。
示例:
> SELECT to_date('2009-07-30 04:17:52');2009-07-30
> SELECT to_date('2016-12-31', 'yyyy-MM-dd');2016-12-31
转特定日期单位的函数:
year: 获取年份
语法:
year(expr)
返回 expr
的年份部分。
expr
:一个日期或时间戳表达式。
示例:
> SELECT year('2016-07-30');2016
month: 获取月份
语法:
month(expr)
返回 expr
中时间戳的月份部分。
expr
:一个 TIMESTAMP 表达式或有效时间戳格式的字符串。
示例:
> SELECT month('2016-07-30');7
day: 获取某天
语法:
day(expr)
返回日期或时间戳的月份日期。
expr
:一个日期或时间戳表达式。
示例:
> SELECT day('2009-07-30');30
hour: 获取小时
语法:
hour(expr)
返回时间戳的小时部分。
expr
:时间戳表达式。
示例:
> SELECT hour('2009-07-30 12:58:59');12
date_diff: 获取相差天数
语法:
date_diff(endDate, startDate)
返回从 startDate
到 endDate
的天数。
endDate
:日期表达式。startDate
:日期表达式。
示例:
> SELECT date_diff('2009-07-31', '2009-07-30');1
> SELECT date_diff('2009-07-30', '2009-07-31');-1
获取特定日期函数:
date_sub: 获取某个日期前X天的日期
语法:
date_sub(startDate, numDays)
返回在 startDate
之前的日期 numDays
。
startDate
:一个日期表达式。numDays
:一个整数表达式。
示例:
> SELECT date_sub('2016-07-30', 1);2016-07-29
date_add: 获取某个日期后X天的日期
语法:
date_add(startDate, numDays)
返回在 startDate
之后的日期 numDays
。
startDate
:一个日期表达式。numDays
:一个整数表达式。
示例:
> SELECT date_add('2016-07-30', 1);2016-07-31
last_day: 获取某月最后一天
语法:
last_day(expr)
返回日期所属月份的最后一天。
expr
:一个 DATE 表达式。
示例:
> SELECT last_day('2009-01-12');2009-01-31
next_day: 获取下一周星期几的日期
语法:
next_day(expr, dayOfWeek)
返回晚于 expr
并已按 dayOfWeek
中命名的第一个日期。
expr
:一个 DATE 表达式。dayOfWeek
:标识一周中某一天的 STRING 表达式。
示例:
> SELECT next_day('2015-01-14', 'TU');2015-01-20dayOfWeek 必须是以下之一(不区分大小写):'SU', 'SUN', 'SUNDAY'
'MO', 'MON', 'MONDAY'
'TU', 'TUE', 'TUESDAY'
'WE', 'WED', 'WEDNESDAY'
'TH', 'THU', 'THURSDAY'
'FR', 'FRI', 'FRIDAY'
'SA', 'SAT', 'SATURDAY'
current_date: 获取某月最后一天
语法:
current_date()
返回查询计算开始时的当前日期。
示例:
> SELECT current_date();2020-04-25
实用案例:
时间格式YYYYMMDD转换成YYYY-MM-DD
【HQL实用】时间格式YYYYMMDD转换成YYYY-MM-DDhttps://blog.csdn.net/u013631103/article/details/126983750?spm=1001.2014.3001.5501
【Hive SQL】常用日期函数汇总相关推荐
- hive获取月份_【Hive】Hive中常用日期函数整理
前言 使用hive进行时间处理的过程中,有时忘记一些常用的函数用法,现整理一下hive中常用日期函数,当做备忘录使用,忘记来翻阅一下. 1 时间戳转化日期函数 时间戳必须是10位,默认情况下转化为'y ...
- excel中最常用的30个函数_最常用日期函数汇总excel函数大全收藏篇
在我们的实际工作中,经常需要用到日期函数.日期函数那么多,你还只会用函数TODAY吗?那你就OUT了.今天一起来看下常用日期函数的用法! 1.DATE 函数DATE:返回在日期时间代码中代表日期的数字 ...
- SQL Server 常用日期函数的运用
1.对SQL Server 日期函数的应用,本文主要的内容是如何获取下面的相关日期 本周星期一 本月第一天 本季度第一天 本年第一天 本周第一天 本月最后一天 本季度最后一天 本年最后一天 本周最后一 ...
- 【hive 日期函数】Hive常用日期函数整理
1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12'); 输出:2015-04-02 1 2 2.from_unixtime:转化unix时 ...
- 【hive 日期函数 大全】Hive常用日期函数整理 史上最全
[hive 日期函数 大全]Hive常用日期函数整理注意:1) hive 没有 to_char函数 2) HIVE 日期函数只识别 年-月-日 不能识别 年-月 ,所以处理月份的时候需要特殊处理1)h ...
- Mysql中常用的函数汇总
Mysql中常用的函数汇总: 一.数学函数 abs(x) 返回x的绝对值 bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x) 返回大于x的最小整数值 exp(x ...
- SQL常用字符串函数
SQL常用字符串函数 一.字符转换函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用''括起来,但含其它字符的字符串必须用''括起来使用 ...
- 让你瞬间提高工作效率的常用js函数汇总
让你瞬间提高工作效率的常用js函数汇总(持续更新) 前言 本文总结了项目开发过程中常用的js函数和正则,意在提高大家平时的开发效率,具体内容如下: 常用的正则校验 常用的设备检测方式 常用的日期时间函 ...
- Hive SQL间断日期补数
Hive SQL间断日期补数 0.业务场景 场景:用户间断消费,流水中无消费无记录,对用户每天余额进行补数. 1.补充数据代码 -- 补充间断日期中的数据 with data_test as (sel ...
最新文章
- FreeSwitch安装和配置记录
- [SCOI2007] 蜥蜴 (最大流)
- 粗糙表面的微表面模型——Physically Based Material
- API函数的调用(包含一个大小写的问题)
- Php循环函数嵌套javascript,JS循环嵌套问题?
- 终于读完Code complete 2nd edtion
- ipython的使用
- php中用js自定义弹窗,用js实现的自定义的对话框的实现代码_javascript技巧
- (116)FPGA面试题-FIFO相关参数与信号,为什么要用格雷码
- Atitit 实体的概念与理解 目录 1. 使用不同的语言来描述实体	1 1.1. H5 table dom模型 json	1 1.2. Sql table	1 1.3. Java class m
- html用post怎么加密,post提交数据如何加密
- 认识直动、先导式电磁阀
- 电脑位数(32位或者64位)问题导致eclipse不能正常启动
- 网站死链接检测以及死链接的处理方式
- go语言教程哪里有?go 语言优秀开源项目汇总
- Horizon Daas 模板转化映像ip地址检索获取失败
- 浅谈IM(InstantMessaging) 即时通讯/实时传讯
- File.separator用法
- 华中科技大学计算机课程设计,华中科技大学计算机学院操作系统课程设计资料报告材料[1].doc...
- iOS 12+ ReplayKit 系统录屏(一)
热门文章
- 【YOLO系列】YOLOv5超详细解读(网络详解)
- Android8.1去掉低电量时的弹窗提醒功能
- join方法及其调用yield sleep wait notify方法会对锁产生的影响
- 【图像检测】基于形态学算法实现空瓶检测matlab代码
- ajax对接接口属性,ajax调用restful接口
- 10-225 查询软件工程专业中年龄最大的同学姓名
- win10 wdk不能部署到win7 的解决方法
- python的所有知识点(含讲解),不看就亏死了
- python函数定义时带号的可变参数_在定义函数时,某个参数名字前面带有一个 * 符号表示可变长度参数,可以接收任意多个普通实参并存放于一个元组之中。_学小易找答案...
- ac1900 linksys 恢复_AC1900路由器怎么恢复出厂设置? | 192路由网