ATEHNA (SQL) Нужно преобразовать строку в формате 9/29/2021 2:36:32 вечера в тип метки времени, но постоянно появляется ошибка

#sql #parsing #amazon-athena

Вопрос:

Я пытаюсь преобразовать строку метки времени в метку времени с помощью date_parse, но продолжаю получать сообщение об ошибке : «INVALID_FUNCTION_ARGUMENT: Незаконный компонент шаблона: i»

Строка отформатирована следующим образом: 9/29/2021 2:36:32 вечера

 parse_datetime(end_timestamp_t,'%Y-%m-%d %H:%i:%s %p')
 

также пытались:

 parse_datetime(end_timestamp_t,'%m-%d-%Y %H:%i:%s %p') as this,
 

Буду признателен за любую помощь!

Ответ №1:

Во-первых, кажется, что вы используете шаблоны формата даты MySQL, в то время parse_datetime как ожидаете шаблоны Java. Вам нужно использовать date_parse для них MySQL. Вторичный в вашем примере строки даты у вас есть / как делимер, нет - , поэтому вам нужно соответствующим образом изменить строку формата:

 select date_parse('9/29/2021 2:36:32 PM','%m/%d/%Y %H:%i:%s %p')
 

Выход:

_col0
2021-09-29 02:36:32.000

Комментарии:

1. Очень ценю вашу помощь! — Я все еще получаю сообщение об ошибке ниже…не могли бы вы, пожалуйста, ответить? Аргумент INVALID_FUNCTION_ARGUMENT: Неверный формат: «19.10.201021 10:01:59 P» имеет неправильное значение «P»

2. @user2216856 это означает, что указанная вами дата отсутствует M в PM