Hive: конвертировать дату в int - PullRequest
0 голосов
/ 09 мая 2018

Ввод выглядит как:

2017-07-03

Ожидаемый результат выглядит следующим образом:

20170703

Я попробовал следующий код:

year(2017-07-03) * 10000 + month(2017-07-03) * 100 + day(2017-07-03))

Есть ли встроенная функция, которая может сделать это преобразование?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Вы можете использовать from_unixtime и unix_timestamp с cast, чтобы сделать это.

select cast(from_unixtime(unix_timestamp('2017-07-03','yyyy-MM-dd'),'yyyyMMdd') as int)
0 голосов
/ 09 мая 2018

Вы можете разделить на '-', а затем объединить обратно. Или замените «-» на «».

regexp_replace("2017-07-03", "-", "")

См. как заменить символы в улье?

...