Sql 黑斑羚月的最后一天

Sql 黑斑羚月的最后一天,sql,hadoop,impala,Sql,Hadoop,Impala,这是一个更好/更短的解决方案吗 select add_months (date_sub(trunc (to_timestamp(cast (dim_evt_dte_key as string), "yyyyMMdd"), 'month'), 1), 1) as end_month from old; 要得到每个月的最后一天??是否有月末功能?在黑斑羚中,月似乎不起作用 要使事情变得复杂:dim\u evt\u dteis BIGINT:20170210您可以在下面使用last\u day()函

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

select
add_months (date_sub(trunc (to_timestamp(cast (dim_evt_dte_key as string), "yyyyMMdd"), 'month'), 1), 1) as end_month
from old;
要得到每个月的最后一天??是否有月末功能?在黑斑羚中,月似乎不起作用
要使事情变得复杂:
dim\u evt\u dte
is BIGINT:20170210

您可以在下面使用
last\u day()
函数进行尝试

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

我认为在Impala中最简单的方法是使用
trunc()
date\u trunc()

这假设密钥是一个时间戳

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