Есть таблица «user_order» с столбцами «user_id», «code» (символ меняется) и created_date_key (целое число). Я пытаюсь написать запрос, который отображает все записи для кода 26 и даты больше, чем '12 -5-2013 23:59:59 '.POSTGRESQL: Ошибка: формат даты не распознан
Select *
from user_order
where code like 26 ::text
and to_date(created_date_key ::text, 'YYYY-MM-DD') > to_date ('12-5-2013 23:59:59' ::text, 'YYYY-MM-DD')
ОШИБКА: формат даты не распознается.
Почему вы хранить метку времени как 'integer'? 'to_date()' преобразует строку ('varchar',' text') в дату. Вы не можете передать ему целое число. Подумайте об этом: как целое число, даже если оно было добавлено в строку, возможно, имеет формат '' YYYY-MM-DD'' –
Предполагая, что ваше целое является временной отметкой Unix или аналогичной (секунд с эпохи), вы должны найти то, что вам нужно здесь : http://stackoverflow.com/questions/18747317/postgres-compare-timestamp-with-long-unix-timestamp и здесь: http://stackoverflow.com/questions/12328817/postgres-how-do-i-format -an-int-timestamp-as-readable-date-string – IMSoP