sai.2012 Ответов: 1

ORA-01843: недопустимый месяц to_date(substr(:processdate, 1, 11), 'mm/dd/YYYY')


Всем привет,

в моей таблице oracle есть столбец под названием :
processdate
дата типа данных.

Современное технологическое значение в таблице :
6/5/2018


попытка выполнить приведенный ниже запрос приводит к исключению .

SELECT to_date(substr(:processdate, 1,10), 'mm/dd/YYYY') FROM table


если я войду в processdate :
6/5/2018
это было бросание исключения, как
A-01843: not a valid month


пожалуйста, объясните мне, что не так с этим запросом.

Спасибо, неосторожность.

Что я уже пробовал:

<pre>SELECT to_date(substr(:processdate, 1,10), 'mm/dd/YYYY') FROM table


если я войду в processdate :
6/5/2018
это было бросание исключения, как
A-01843: not a valid month

Richard Deeming

Разве так не должно быть 'M/D/YYYY'- поскольку вы не используете ведущие нули в числах месяца и дня?

И тот факт, что вы используете TO_DATE можно было бы предположить, что тип данных вашего столбца НЕ date.

sai.2012

Привет Ричард,

Thx для ответа , но в database Process date datatype - это только дата.

Я не использую ведущие нули в числах месяца и дня.

1 Ответов

Рейтинг:
2

Maciej Los

Предполагая, что а processdate поле-это тип данных datetime, и вы хотите отклонить/удалить часть времени, вы должны использовать Транк[^] функция.