Я уже весь мозг себе сломал после обеда, да еще и в пятницу.
И вот, чем я озадачен на ровном месте:
Пробовал на
FB 1.5.2
FB 1.5.3
Почему запрос
select * from RDB$DATABASE where :str=''
выдает
Incompatible column/host variable data type.
Dynamic SQL Error.
SQL error code = -303.
arithmetic exception, numeric overflow, or string truncation.
Запрос бессмысленный, но воспроизводит затык реального запроса (там один из членов WHERE такой), где
идет сравнение входного параметра с пустой строкой. Мне говорят, что это мол раньше работало, а я не
верю и в ответ говорю, что не могло работать, т.к. сервер я не менял.
Говорю, что , если вам больно, то ТАК делать не надо, ибо, к примеру, в виде
select * from RDB$DATABASE where :str=CAST('' as VARCHAR(15))
уже ошибок не выдается.
Я думаю, что мне парят мозг и надо явно приводить эту пустую строку к типу параметра, в сравнении с
которым она принимает участие, т.к. иначе подразумевается тип параметра CHAR(0) и любое непустое
значение параметра вызовет ошибку. Я прав или нет?
--
Regards,
Ovchinnikov Vasily
ova at tkvc ru