Параметризованный запрос Crystal / Oracle для использования переменной - PullRequest
0 голосов
/ 11 февраля 2010

В настоящее время в моем отчете Crystal Report есть объект Database Command, который выглядит примерно так:

SELECT *
    FROM table
    WHERE field = {?EndDate}

Я хочу изменить это, чтобы оно выглядело как

IF {?EndDate} = DATE '1900-01-01' 
    MyVariable = ADD_MONTHS(LAST_DAY(SYSDATE), -1)
ELSE
    MyVariable = {?EndDate}

SELECT * 
    FROM table
    WHERE field = MyVariable

Я как бы получаю представление о том, как построить динамический запрос для этого, но я не знаю, действительно ли это то, что я хочу сделать. Может ли кто-нибудь указать мне правильное направление, пожалуйста? Спасибо.

1 Ответ

1 голос
/ 11 февраля 2010
Select * 
from table
where field = decode
         (myvariable,'1900-01-01',ADD_MONTHS(LAST_DAY(SYSDATE), -1)
                    ,myvariable)

[Читает: выберите * из моей таблицы, где поле равно .. Декодировать myvariable; если это 1-1-1900, то получите месяц до текущего sysdate, иначе используйте переменную]

Нечто подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...