ОШИБКА Postgresql: час «16» недействителен для 12-часовых часов

#postgresql

#postgresql

Вопрос:

У меня есть 8/31/2020-16:29:31 PM в submitted_date столбце моей таблицы. и я попытался преобразовать это в метку времени с помощью to_timestamp функции.

Команда, которую я набираю,:

 select TO_TIMESTAMP(submitted_date, 'MM/DD/YYYY-HH24:MI:SS PM') from table;
 

и я получаю эту ошибку:

 ERROR:  hour "16" is invalid for the 12-hour clock
HINT:  Use the 24-hour clock, or give an hour between 1 and 12.
 

Я знаю, что это очень глупо. Но что я здесь делаю не так? Я не в себе, пытаясь разобраться в этом.

Ответ №1:

  • Ваша строка формата неверна, должна быть ‘MM / DD / YYYY-HH24: MI: SS’
  • 8/31/2020-16:29:31 PM недопустимо. 16:29 верно 4:29 PM ?
 select to_timestamp('8/31/2020-16:29:31 PM', 'MM/DD/YYYY-HH24:MI:SS "PM"');
 

работает просто отлично (с кавычками PM в строке формата).