我试图将日期列(" craeteddate")格式化为yyyy-mmmm,即:2017年11月。
select unix_timestamp(createddate, 'yyyy-MMMM') from cc_vw_case
此SQL引发"错误的日期/时间转换格式:yyyy-MMMM"。
在Hive中可能的格式为yyyy-MMMM吗?我正在使用Cloudera Hadoop。
答案 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")
的组合来在日期时间之间进行转换