Я пытаюсь запустить очень простой запрос с даты, которая определена как символ (18), результаты для поля отображаются как 07082015 (для 07/08/15).Char to Date в Oracle
select *
from ELECT_REMIT_RESP_HDR_FCT b
where b.OFFICE_NBR = '1234' and b.INV_NBR = '123456'
b.CRTD_DT = '07082015'
Я пробовал функцию to_date и получил ошибку, говоря, что месяц недействителен.
Помимо стандартного вопроса о том, почему вы храните дату в столбце с неправильным типом данных и почему вы должны использовать 'char (18)', когда хотите сохраните строку из 8 символов, я не уверен, в чем вопрос. Ваш запрос не работает? Если да, то каким образом? Зачем использовать функцию 'to_date'? –
@ JustinCave, к сожалению, я не создал db и не пытаюсь внести изменения в порядок хранения данных. Запрос, который у меня выше, не возвращает результатов, однако я могу видеть эту дату в результатах, если я удалю дату-часть предложения where. Поэтому я подумал, что, может быть, мне нужно преобразовать дату, как вариант, чтобы попытаться выяснить, получу ли я результаты, нет такой удачи. – tia97
Можете ли вы собрать тестовый пример, демонстрирующий проблему? В идеале что-то на sqlfiddle? Моя догадка заключается в том, что в столбце больше, чем в день (так как иначе 'char (18)' не является глупым). –