如何在Hive中格式化yyyy-MMMM?

时间:2017-11-09 13:45:39

标签: sql hadoop hive

我试图将日期列(" craeteddate")格式化为yyyy-mmmm,即:2017年11月。

select unix_timestamp(createddate, 'yyyy-MMMM') from cc_vw_case

此SQL引发"错误的日期/时间转换格式:yyyy-MMMM"。
在Hive中可能的格式为yyyy-MMMM吗?我正在使用Cloudera Hadoop。

2 个答案:

答案 0 :(得分:0)

如果您的输入值是Unix时间戳,那么您需要使用FROM_UNIXTIME而不是UNIX_TIMESTAMP。这在Hive中得到了正确的答案:

SELECT FROM_UNIXTIME(1510218382, 'yyyy-MMMM')

答案:2017年11月

答案 1 :(得分:0)

unix_timestamp正在尝试解析您的列,而不是对其进行格式化。

可能会抛出错误,因为它不是给定的格式

您需要使用from_unixtime(unix_timestamp(col, "format from"), "format to")的组合来在日期时间之间进行转换