Форматы даты IMPALA - преобразование полной метки времени в почасовую метку времени

Мне нужно взять полный столбец меток времени (формат: YYYY-MM-DD HH:MM:SS.SSSS) и преобразовать его в почасовую метку времени (формат: YYYY-MM-DD HH:00:00)

Например: я хочу преобразовать существующую дату:

2016-02-26 04:00:07.766304000

в:

2016-02-26 04:00:00

Я пытался использовать функции unix_timestamp() и from_unixtime(), но это слишком запутанно :X

Кто-то знает, как это легко сделать?

Огромное спасибо помощникам :)


person shayms8    schedule 22.03.2016    source источник


Ответы (1)


Вы можете использовать to_date() для получения даты времени и hour() для получения часа времени, а затем объединить их вместе, если вы не хотите использовать unix_timestamp() или from_unixtime().

Предположим, что «submit_time» выглядит как «2016-02-26 04:00:07.766304000».

concat(to_date(submit_time),' ',cast(hour(submit_time) as string),':00:00')

даст ответ.

person Harper Koo    schedule 28.03.2016