impala 本年格式化时间_sql – 在Impala中将YYYYMMDD字符串转换为Date

我在Impala中使用sql来编写此查询.我正在尝试将以YYYYMMDD格式存储的日期字符串转换为日期格式,以便运行如下查询:

SELECT datadate,session_info

FROM database

WHERE datadate >= NOW() - INTERVAL 5 DAY

ORDER BY datadate DESC;

由于> = NOW() – INTERVAL 5 DAY代码不能与YYYYMMDD字符串一起使用,我想找到一种方法将其转换为可用于此类查询的日期格式.我的想法是它应该看起来像这样(基于关于其他SQL查询编辑器的类似问题),但它在Impala中不起作用:

SELECT datadate,session_info,convert(datetime,'20141008',102) AS session_date

FROM database

WHERE session_date >= NOW() - INTERVAL 5 DAY

ORDER BY session_date DESC;

任何人都知道如何在Impala中做到这一点?

编辑:

我终于找到了解决问题的有效方法.使用CAST或CONVERT配置的任何尝试都不会在Impala中起作用,但是下面的查询解决了问题并且完全可操作,允许对包含字符串值的列执行日期数学运算:

SELECT datadate,session_info

FROM database

WHERE datadate >= from_unixtime(unix_timestamp(now() - interval 5 days),'yyyyMMdd')

GROUP BY datadate

ORDER BY datadate DESC;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值