у меня есть запрос на select
SQL, который содержит следующее:ORA-01861: буквальная не соответствует ошибке форматной строки не всегда проявляется в подобных случаях
to_date('292278994-08-17 08:12:55.807', 'yyyy-mm-dd hh:mi:ss')
Значения этой даты было сгенерировано с этим кодом Java line:
Date maxDate = new Date(Long.MAX_VALUE);
Очевидно, что год 292278994 не соответствует «yyyy». Проблема: работает мой запрос вызывает
ORA-01861: буквальный не соответствует формату строки
на основной базе данных, но не на резервной базе данных. Базы данных полностью эквивалентны, резервная копия, конечно же, является копией основной. Оба они - Oracle 11.2. Я думаю, это зависит от некоторой конфигурации, но я ничего не мог найти.
Кто-нибудь знает причину этого? Спасибо!
Вы говорите, что следующее дает ошибку в одной базе данных, но не в другом? SELECT to_date ('292278994-08-17 08: 12: 55.807', 'yyyy-mm-dd hh: mi: ss') FROM DUAL; Если да - каков результат для базы данных, который не дает ошибки? ETA: если нет, выполняете ли вы оператор select в обоих экземплярах таким образом, чтобы сбрасывать ВСЕ результаты? Возможно, вы используете инструмент, который просто набирает 100 записей, и первые 100 записей, найденных в основной БД, не имеют этой проблемы, но первые 100 записей в резервном режиме. – KevinKirkpatrick
На самом деле у меня запрос SELECT немного длиннее. Тот, который не дает никаких ошибок с нулевой записью. –
Ваш ответ был неоднозначным. Вы запустили это в обеих базах данных? SELECT to_date ('292278994-08-17 08:12:55.807 ',' yyyy-mm-dd hh: mi: ss ') FROM DUAL; Можете ли вы подтвердить, что он дает ошибку в одном, но не в другом? – KevinKirkpatrick