Форум: "Базы";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
ВнизСравнение дат в InterBase Найти похожие ветки
← →
Андрей Пл (2008-01-15 11:54) [0]Здравствуйте я недавно только начал работать с InterBase
Меня интересует вопрос как выполнит следующий запрос без ошибки
SELECT BRIEFCASE.*,
ibec_IIF(openorder < CAST("01.01.2008" AS date),100, pz100) as pz
FROM BRIEFCASE
где openorder типа дата
pz100 числогого типа
и являються полями таблицы BRIEFCASE
мне кажеться что основная ошибка в месте там где я сравниваю даты (openorder < CAST("01.01.2008" AS date)
Заранее спасибо
← →
Desdechado © (2008-01-15 12:31) [1]Вместо такой фигни, лучше сделай:
1. используй параметры, а не строковое представление дат
2. вместо iif используй конструкцию UNION ALL
← →
Андрей Пл (2008-01-15 13:01) [2]пример приведи если не сложно!
← →
Desdechado © (2008-01-15 13:51) [3]select tbl.a from tbl where ddd < :P1
union all
select tbl.a + 10 from tbl where ddd >= :P2
← →
Андрей Пл (2008-01-15 14:45) [4]
> Desdechado © (15.01.08 13:51) [3]
мне по ряду причин не подходит такой вариант.
может кто то подскажет как мне обеспечить получение того или иного значения в селекте в зависимости от выполнения условия условия,
а именно мне надо выводить в колонку или просто значение поля pz100 если openorder < 1.01.2008 или произведение pz100 * "другое поле" если openorder >= 1.01.2008
← →
Sergey13 © (2008-01-15 15:02) [5]> [4] Андрей Пл (15.01.08 14:45)
ИМХО, для такого случая лучше ХП написать.
← →
Desdechado © (2008-01-15 16:02) [6]> мне по ряду причин не подходит такой вариант.
Слова. Причин пока не углядел.
← →
Andrey © (2008-01-15 16:27) [7]Ну если аж по целому ряду причин... (http://sql.ru/forum/actualthread.aspx?tid=514715)
Можно еще написать хранимую процедуру... можно удф... они в IB5 были )
Но для решения такой проблемы это всё проктология. Union all верное решение, но я ж забыл, у афтара ведь целый ряд причин...
← →
Евгений Р. (2008-01-17 14:45) [8]select tbl.a,pz100
from tbl where ddd < :P1
union all
select tbl.a + 10, pz100 * "другое поле"
from tbl where ddd >= :P2
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c