Hive-函数-时间处理

在Hive中,处理时间数据的函数非常有用,尤其是在处理包含时间戳或日期字段的大数据时。以下是一些Hive中相对频繁使用的时间处理函数,包括它们的名称、参数、功能以及SQL示例。

1. from_unixtime

  • 参数 :bigint unixtime, [string format]

  • 功能 :将Unix时间戳(秒)转换为指定格式的字符串。如果未指定格式,则默认为yyyy-MM-dd HH:mm:ss。

  • SQL示例 :

    sql 复制代码
    SELECT from_unixtime(unix_timestamp(), 'yyyy-MM-dd HH:mm:ss') AS formatted_time;

2. unix_timestamp

  • 参数 :[string date], [string pattern]

  • 功能:将字符串(日期)转换为Unix时间戳(秒)。如果未指定日期字符串,则返回当前时间的Unix时间戳。如果指定了模式(pattern),则按该模式解析日期字符串。

  • SQL示例 :

    sql 复制代码
    SELECT unix_timestamp('2023-04-01 12:00:00', 'yyyy-MM-dd HH:mm:ss') AS timestamp_seconds;

3. date_format

  • 参数 :string date, string format

  • 功能:将日期/时间字符串按照指定的格式进行格式化。

  • SQL示例 :

    sql 复制代码
    SELECT date_format('2023-04-01 12:00:00', 'yyyy-MM-dd') AS formatted_date;

4. to_date

  • 参数 :string timestamp

  • 功能 :将时间戳字符串转换为日期(yyyy-MM-dd)格式。

  • SQL示例 :

    sql 复制代码
    SELECT to_date('2023-04-01 12:00:00') AS date_only;

5. current_date 和 current_timestamp

  • 参数:无

  • 功能 :current_date 返回当前日期(yyyy-MM-dd),而 current_timestamp 返回当前的日期和时间(包括时区信息,如果配置了的话)。

  • SQL示例 :

    sql 复制代码
    SELECT current_date AS today, current_timestamp AS now;

6. date_add

  • 参数 :string startdate, int days

  • 功能:在日期上加上指定的天数。

  • SQL示例 :

    sql 复制代码
    SELECT date_add('2023-04-01', 10) AS new_date;

7. date_sub

  • 参数 :string startdate, int days

  • 功能:从日期中减去指定的天数。

  • SQL示例 :

    sql 复制代码
    SELECT date_sub('2023-04-11', 10) AS previous_date;

8. datediff

  • 参数 :string enddate, string startdate

  • 功能:计算两个日期之间的天数差。

  • SQL示例 :

    sql 复制代码
    SELECT datediff('2023-04-11', '2023-04-01') AS days_between;

9. year、month、day、hour、minute、second

  • 参数 :string date

  • 功能:分别提取日期时间字符串中的年、月、日、小时、分钟、秒部分。

  • SQL示例 :

    sql 复制代码
    SELECT year('2023-04-01 12:00:00') AS year, month('2023-04-01 12:00:00') AS month;

。

相关推荐
freejackman6 小时前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
skywalk81633 天前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
Francek Chen4 天前
【大数据处理与分析】数据仓库Hive:09 Hive 编程实践
大数据·数据仓库·hive·hadoop·sql
茶海棠7 天前
Hadoop+zookeeper+HBase+Kafka集群搭建全流程
hadoop·zookeeper·kafka·hbase
全栈陈序员7 天前
【Git】从入门到精通(二)—— Git安装与初次配置
数据仓库·git
skywalk81637 天前
卡不等于分支:我用 TRAE 宝配合 Hive 跑三张任务卡的一天
运维·人工智能·hive·trae
程序员梅雨7 天前
【从零开始学习数据仓库 | 第三篇】: Flume——数据采集基石
java·大数据·数据仓库·后端·学习·flume
freejackman8 天前
【架构篇】双遍历 + 多栈协同:手撸 SQL 血缘引擎的架构思考
java·大数据·数据库·hive·sql·架构·spark
陈年老古董8 天前
ClickHouse 单机搭建记录
hive·笔记·学习·clickhouse·硬件架构
Gl�ria8 天前
Hadoop 速刷:HDFS / MR / YARN / Spark / Hive
hadoop·hdfs·mr