Показать сообщение отдельно
Старый 20.04.2010, 09:51   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,877 / 3141 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Было нечто подобное.
Как выяснилось кусок кода
X++:
&& InventTrans.costamountPosted > 0 - InventTrans.costamountadjustment
выдавал такую ошибку.

На оракл он уходил так :
X++:
AND (COSTAMOUNTPOSTED>(:IN5-COSTAMOUNTADJUSTMENT))))
Причем когда включил литералы, то обнаружил что уходит вот такой запрос !!!
X++:
AND (COSTAMOUNTPOSTED>(7.<00373231303336E50-COSTAMOUNTADJUSTMENT)))
или
X++:
AND (COSTAMOUNTPOSTED>(7.;00323438363336E50-COSTAMOUNTADJUSTMENT)))
т.е. константа 0 парсером преобразовывалась в не совсем 0

Самое неприятное, что такое происходило не всегда, а например на 3-м или 5-м вызове запроса. (и это было уже совсем подстава)
т.е. нередко уходил вполне нормальный запрос с нулем, а не странной константой "7.<00373231303336E50"
Точного рецепта как это побороть не дам - начисто в голове забылось
По-моему я шаманил с типом константы в коде, т.е. вместо 0 писал 0.0 а также могло влиять то с какого месте от знака неравенства стоит операнд.