последний день месяца в импале - PullRequest
0 голосов
/ 24 ноября 2018

является лучшим / коротким решением для

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

, чтобы получить последний день каждого месяца ??ЭТО МОНТАЖНАЯ ФУНКЦИЯ?EOMONTH, кажется, не работает в Impala, чтобы усложнить задачу: dim_evt_dte БОЛЬШОЙ: 20170210

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Я думаю, что самый простой метод в Impala - использовать trunc() или date_trunc():

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

Это предполагает, что ключ является временной меткой.

0 голосов
/ 24 ноября 2018

Вы можете попробовать ниже, используя last_day() функцию

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