Impala 的最后一天

j5fpnvbx  于 2021-06-01  发布在  Hadoop
关注(0)|答案(2)|浏览(530)

这是一个更好/更短的解决方案吗

select
add_months (date_sub(trunc (to_timestamp(cast (dim_evt_dte_key as string), "yyyyMMdd"), 'month'), 1), 1) as end_month
from old;

得到每个月的最后一天??有月末功能吗?在 Impala 中,eomonth似乎无法让事情变得复杂: dim_evt_dte is bigint:20170210

s4chpxco

s4chpxco1#

你可以在下面使用 last_day() 功能

select last_day(to_timestamp(cast (dim_evt_dte_key as string), "yyyyMMdd"))
pbpqsu0x

pbpqsu0x2#

我认为 Impala 最简单的方法就是 trunc() 或者 date_trunc() :

select (trunc(dim_evt_dte_key, 'MMM') + interval 1 month) - interval 1 day) as end_month
from old;

这假设密钥是一个时间戳。

相关问题