我目前在Crystal Report中有一个类似于
的数据库命令对象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
我有点想到如何构建动态查询来做到这一点,但我不知道这是否真的是我想要做的。有人能指出我正确的方向吗?感谢。
答案 0 :(得分:1)
Select *
from table
where field = decode
(myvariable,'1900-01-01',ADD_MONTHS(LAST_DAY(SYSDATE), -1)
,myvariable)
[读取:从我的表中选择*,其中字段等于..解码myvariable;如果它是1-1-1900,那么在当前sysdate之前一个月,否则,使用变量]
类似的东西。