Hive内置函数使用详解:to_date()

to_date(string timestamp)

返回时间戳字符串的日期部分。

参数说明

timestamp

时间戮字符串,日期部分的格式需为:yyyy-MM-dd

返回类型

Hive 2.1.0 之前的版本,返回string类型(由于创建该方法时还没有日期类型);

从 Hive 2.1.0 开始,返回日期对象date。

使用示例

下面的示例演示to_date函数的使用。

SELECT to_date('2024-02-23 00:29:30');  -- 2024-02-23
SELECT to_date('2024-02-23');  -- 2024-02-23
SELECT to_date('2024-02-23 00');  -- 2024-02-23
SELECT to_date('2024-02-23 00:29');  -- 2024-02-23
SELECT to_date('2024-02-23 00:29:3');  -- 2024-02-23
SELECT to_date('2024-2-23');  -- 2024-02-23
SELECT to_date('2024-0-23');  -- 2023-12-23
SELECT to_date('2024--1-23'); -- 2023-11-23(注:中间月份的值是-1)
SELECT to_date('2024--2-23'); -- 2023-10-23(注:中间月份的值是-2)
SELECT to_date('2024/02/23 00:29');  -- NULL
SELECT to_date('2024-02'); -- NULL

使用date_format函数实现类似功能

SELECT date_format('2024-02-23 00:29:30','yyyy-MM-dd');  -- 2024-02-23
SELECT date_format('2024-02-23','yyyy-MM-dd');  -- 2024-02-23
SELECT date_format('2024-02-23 00','yyyy-MM-dd');  -- 2024-02-23
SELECT date_format('2024-02-23 00:29','yyyy-MM-dd');  -- 2024-02-23
SELECT date_format('2024-02-23 00:29:3','yyyy-MM-dd');  -- 2024-02-23
SELECT date_format('2024-2-23','yyyy-MM-dd');  -- 2024-02-23
SELECT date_format('2024-0-23','yyyy-MM-dd');  -- 2023-12-23
SELECT date_format('2024--1-23','yyyy-MM-dd');  -- 2023-11-23
SELECT date_format('2024--2-23','yyyy-MM-dd');  -- 2023-10-23
SELECT date_format('2024/02/23 00:29','yyyy-MM-dd');  -- NULL
SELECT date_format('2024-02','yyyy-MM-dd');  -- NULL

补充:yyyy/MM/dd格式转yyyy-MM-dd

SELECT from_unixtime(unix_timestamp('2024/02/23 00:29:30','yyyy/MM/dd'),'yyyy-MM-dd');  -- 2024-02-23

SELECT from_unixtime(unix_timestamp('2024/02/23 00:29','yyyy/MM/dd HH:mm'),'yyyy-MM-dd');  -- 2024-02-23

SELECT from_unixtime(unix_timestamp('2024/02/23 00:29','yyyy/MM/dd HH:mm:ss'),'yyyy-MM-dd');  -- NULL

相关函数

  • date_format
  • from_unixtime
  • unix_timestamp


© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...