Конвертировать 'Пн Дек 12 10:55:11 UTC 2016' в дату в Улье - PullRequest
1 голос
/ 30 сентября 2019

Я не могу преобразовать приведенную ниже строку в дату и время в Hive.

Mon Dec 12 10:55:11 UTC 2016

Я использовал date_format('Mon Dec 12 10:55:11 UTC 2016','dd-MM-yyyy'). Но я получаю NULL в результате. Любая помощь будет оценена.

1 Ответ

2 голосов
/ 30 сентября 2019

Используйте unix_timestamp(string date, string pattern) для преобразования строки в в заданном формате в секунды, переданные с Эпоха Unix (1970-01-01 0000:00 UTC)

Затем используйте from_unixtime() для преобразования в требуемый формат .

Демонстрация:

Вашначальный формат 'EEE MMM dd HH:mm:ss z yyyy'

Преобразование в yyyy-MM-dd HH:mm:ss (по умолчанию):

select from_unixtime(unix_timestamp('Mon Dec 12 10:55:11 UTC 2016','EEE MMM dd HH:mm:ss z yyyy'));

Возвращает:

2016-12-12 10:55:11 

Преобразование в yyyy-MM-dd:

select from_unixtime(unix_timestamp('Mon Dec 12 10:55:11 UTC 2016','EEE MMM dd HH:mm:ss z yyyy'),'yyyy-MM-dd');

Возвращает:

2016-12-12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...