[Hive]Hive使用指南六 日期相关函数

简介: 下面介绍一下常用的Hive日期处理相关函数。1. to_date 日期时间转日期函数语法:to_date(string timestamp)返回值:string说明:返回日期时间字段中的日期部分。

下面介绍一下常用的Hive日期处理相关函数。

1. to_date 日期时间转日期函数

语法:

to_date(string timestamp)

返回值:

string

说明:

返回日期时间字段中的日期部分。

举例:

select to_date('2011-12-08 10:03:01') from dual;
2011-12-08

2. year 日期转年函数

语法:

year(string date)

返回值:

int

说明:

返回日期中的年。

举例:

select year('2011-12-08 10:03:01') from dual;
2011

3. month 日期转月函数

语法:

month   (string date)

返回值:

int

说明:

返回日期中的月份。

举例:

select month('2011-12-08 10:03:01') from dual;
12

4. day 日期转天函数

语法:

day   (string date)

返回值:

int

说明:

返回日期中的天

举例:

select day('2011-12-08 10:03:01') from dual;

5. hour 日期转小时函数

语法:

hour   (string date)

返回值:

int

说明:

返回日期中的小时。

举例:

select hour('2011-12-08 10:03:01') from dual;
10

6. minute 日期转分钟函数

语法:

minute   (string date)

返回值:

int

说明:

返回日期中的分钟。

举例:

select minute('2011-12-08 10:03:01') from dual;
3

7. second 日期转秒函数

语法:

second   (string date)

返回值:

int

说明:

返回日期中的秒。

举例:

select second('2011-12-08 10:03:01') from dual;
1

8. weekofyear 日期转周函数

语法:

weekofyear (string date)

返回值:

int

说明:

返回日期在当前的周数。

举例:

select weekofyear('2011-12-08 10:03:01') from dual;
49

9. datediff 日期比较函数

语法:

datediff(string enddate, string startdate)

返回值:

int

说明:

返回结束日期减去开始日期的天数。

举例:

select datediff('2012-12-08','2012-05-09') from dual;
213
select datediff("2016-10-28 07:23:45", "2016-10-20 12:23:10") from dual;
8

10. date_add 日期增加函数

语法:

date_add(string startdate, int days)

返回值:

string

说明:

返回开始日期startdate增加days天后的日期。

举例:

select date_add('2012-12-08',10) from dual;
2012-12-18

11. date_sub 日期减少函数

语法:

date_sub (string startdate, int days)

返回值:

string

说明:

返回开始日期startdate减少days天后的日期。

举例:

select date_sub('2012-12-08',10) from dual;
2012-11-28

12. from_unixtime 日期函数UNIX时间戳转日期函数

语法:

from_unixtime(bigint unixtime[, string format])

返回值:

string

说明:

转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式

举例:

select from_unixtime(1323308943,'yyyyMMdd') from dual;
20111208

13 . unix_timestamp 获取当前UNIX时间戳函数

语法:

unix_timestamp()

返回值:

bigint

说明:

获得当前时区的UNIX时间戳

举例:

select unix_timestamp() from dual;
1323309615

14. unix_timestamp 日期转UNIX时间戳函数

语法:

unix_timestamp(string date)

返回值:

bigint

说明:

转换格式为“yyyy-MM-dd HH:mm:ss“的日期到UNIX时间戳。如果转化失败,则返回0

举例:

select unix_timestamp('2011-12-07 13:01:03') from dual;
1323234063

15. unix_timestamp 指定格式日期转UNIX时间戳函数

语法:

unix_timestamp(string date, string pattern)

返回值:

bigint

说明:

转换pattern格式的日期到UNIX时间戳。如果转化失败,则返回0。

举例:

select unix_timestamp('20111207 13:01:03','yyyyMMdd HH:mm:ss') from dual;
1323234063

16. next_day 下周几的具体日期

语法:

next_day(string date, string week)

返回值:

string

说明:

返回大于指定日期并且与week相匹配的第一个日期。实质上是指下周几的具体日期。week可以是Mo, tue, FRIDAY等。

举例:

select next_day("2016-10-31", 'FRIDAY') from dual;
2016-11-04


目录
相关文章
|
6月前
|
SQL HIVE
Hive LAG函数分析
Hive LAG函数分析
83 0
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
40 4
|
1月前
|
SQL
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(二)
34 2
|
6月前
|
SQL HIVE
hive高频函数(一)
hive高频函数(一)
54 0
|
2月前
|
SQL JavaScript 前端开发
Hive根据用户自定义函数、reflect函数和窗口分析函数
Hive根据用户自定义函数、reflect函数和窗口分析函数
33 6
|
4月前
|
SQL NoSQL 数据库
Flutter Hive NoSql 数据库使用指南
本文将会写一个 Hive CURD 的例子,详细介绍 Hive 这个轻量级的 Flutter 离线数据库的使用方法,包括 Hive 在 Flutter 开发中的重要性、Hive 与 SQLite 的比较等,帮助开发者快速上手 Hive 数据库。
Flutter Hive NoSql 数据库使用指南
|
6月前
|
SQL XML JSON
Hive函数全解——思维导图 + 七种函数类型
Hive函数全解——思维导图 + 七种函数类型
133 2
Hive函数全解——思维导图 + 七种函数类型
|
6月前
|
SQL 分布式计算 HIVE
Hive Cli / HiveServer2 中使用 dayofweek 函数引发的BUG!
在Hive 3.1.2和Spark 3.0.2集群环境中,遇到`dayofweek`函数bug。当`create_date`为字符串类型时,`dayofweek`函数结果错位。修复方法是将`create_date`转换为`date`类型。在Spark SQL中,原始代码能正常运行,未出现此问题。因此建议在Hive中使用转换后的日期类型以避免错误。
74 4
|
6月前
|
SQL HIVE
【Hive SQL】字符串操作函数你真的会用吗?
本文介绍了SQL中判断字符串是否包含子串的几种方法。`IN`函数判断元素是否完全等于给定元素组中的某项,而非包含关系。`INSTR`和`LOCATE`函数返回子串在字符串中首次出现的位置,用于检测是否存在子串。`SUBSTR`则用于提取字符串的子串。`LIKE`用于模糊匹配,常与通配符配合使用。注意`IN`并非用于判断子串包含。
433 3
|
6月前
|
SQL HIVE 索引
Hive【Hive(五)函数-高级聚合函数、炸裂函数】
Hive【Hive(五)函数-高级聚合函数、炸裂函数】