如何检查黑斑羚柱中的列类型?查询是
select TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd'))
另外,我想将查询结果格式化为字符串yyyyMMdd
。 CAST
返回null
。有什么提示吗?
答案 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')