Я нашел это странное поведение и ломаю себе голову этим... у кого-нибудь есть идеи?
Оракул 10g: У меня есть две разные таблицы, в обеих есть этот столбец с именем «TESTCOL» как Varchar2(10), не обнуляемый.
Если я выполняю этот запрос к table1, я получаю правильные результаты:
select * from table1 where TESTCOL = 1234;
Обратите внимание, что я специально не помещаю '1234'... это не опечатка, это динамически сгенерированный запрос, и я постараюсь не менять его (по крайней мере, в ближайшее время).
Но если я запускаю один и тот же запрос к table2, я получаю следующее сообщение об ошибке:
ORA-01722: Invalid number
Оба запроса выполняются в одном сеансе, в одной базе данных.
Я соединял эти две таблицы по этому столбцу, и соединение работает нормально, единственная проблема проявляется всякий раз, когда я пытаюсь использовать это условие.
Любые идеи о том, что может отличаться от одной таблицы к другой?
Заранее спасибо.