2015-06-18 3 views
1

У меня есть запрос, который создает курсор для создания счетов-фактур. Частично это выражение «IIF (cuPR.curren =« EUR », NULL, rate) AS Taux». Моя проблема заключается в том, что мой запрос работает отлично с января по апрель и на июнь, но не на май. Я проверил запрос, чтобы определить проблему, я проверил и перепроверял свои данные, все выглядит нормально. Данные являются единственной вещью, которая меняется, что еще я должен проверить, пожалуйста?Непоследовательные результаты запроса

ответ

0

При дальнейших исследованиях я заметил, что в мае первая запись курсора cuPR имела «EUR» как «curren». Я попробовал сортировать свой курсор на «curren DESC», убедившись, что EUR не будет в первой записи (доллары и GBP - другие возможные значения), и мой запрос прошел. DRapp дал объяснение в ответ на предыдущий мой вопрос: «Бернард (и другие, новые для VFP). Запросы VFP фактически запускают запрос дважды, один раз для первой записи, только чтобы подтвердить окончательные типы и размеры столбцов, затем для фактического запроса ВСЕ записей. " В моем случае один из столбцов был NULL ...

1

Обычно, если есть вероятность, что у меня будут данные, которые могут отбросить вещи, как у вас здесь, я буду использовать приведение, чтобы мое поле было тем, что я ожидаю.

Что-то вроде ...

SELECT CAST(CAST(IIF(cuPR.curren="EUR", NULL, rate) AS Numeric(10,5)) AS Taux ... 
Смежные вопросы