hive udf字符串到日期的转换

x4shl7ld  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(402)

配置单元包含一个表“sample”,其中包含以下数据:

15-06-2015
15-06-2015
15-06-2015
15-06-2015
15-06-2015
15-06-2015
16-06-2015

使用以下查询,我正在将字符串类型的数据转换为配置单元日期格式:

select TO_DATE(from_unixtime(UNIX_TIMESTAMP(date,'DD-MM-YYYY'))) from sample;

输出如下:

0   2014-12-28
1   2014-12-28
2   2014-12-28
3   2014-12-28
4   2014-12-28
5   2014-12-28
6   2014-12-28

输出与预期输出不同。
请建议如何获得预期的输出,如:

2015-06-15
2015-06-15
2015-06-15
2015-06-15
2015-06-15
2015-06-15
2015-06-16
fafcakar

fafcakar1#

您的问题是hiveql通常不区分大小写,但是 unix_timestamp 相反,函数是区分大小写的。因此,查询的正确语法是:

select TO_DATE(from_unixtime(UNIX_TIMESTAMP(date,'dd-MM-yyyy'))) from sample;

这样,你就会得到预期的结果。

pbpqsu0x

pbpqsu0x2#

仅仅是一个打字错误,模式应该是 dd-MM-yyyy .

相关问题