Impala日期到字符串转换

时间:2018-03-16 15:42:56

标签: date hive type-conversion impala

如何检查黑斑羚柱中的列类型?查询是

select TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd'))

另外,我想将查询结果格式化为字符串yyyyMMddCAST返回null。有什么提示吗?

3 个答案:

答案 0 :(得分:1)

我没有得到关于“检查列类型”的问题。 TO_DATE函数将结果作为字符串返回。

对于第二个问题,您可以使用current_date获取服务器日期,然后使用名为“DATE_FORMAT”的函数。顺便说一句,如果你需要长达数小时,分钟,秒和微秒的话,Unix时间戳很有用,如果没有时间,current_date函数就足够了。

SELECT DATE_FORMAT(CURRENT_DATE, 'yyyyMMdd');
Result: 20180316

答案 1 :(得分:0)

你可以在impala中尝试以下查询。

Case1:-
    select cast(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd')) as string);
    Result
    2018-03-16

Case2:-
    select cast((FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyyMMdd')) as string);
    Result
    20180316

Case3:-
    select cast(regexp_replace(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd HH:mm:ss')),'-','')as string);
    Result
    20180316

您可以使用regexp_replace将所有 - 替换为空字符串,以便我们可以使用yyyyMMdd格式。

答案 2 :(得分:0)

您好,请使用以下脚本

select from_timestamp('2020-01-01','yyyy-MM-dd')