在BI-PUBLISHER中,我有两个参数STARTDATE和ENDDATE。
表ACTIVE_DATE中有一个字段将在上面的参数中使用。
我在查询中使用了以下条件:
trunc(active_date) between NVL(:P_Active_Date, trunc(active_date))
and NVL(:P_Close_Date, trunc(active_date)如果两个参数都为空,则应选择日期的所有范围。
但是当我应用这些参数时,它不会显示正确的结果。即使我选择了这两个参数,它仍然不能显示正确的结果。
应该怎么做呢?
发布于 2016-01-29 16:27:38
如果您的日期属性在同一天花费了不同的小时,您可以这样做:
where
trunc(active_date)
between to_date( ( NVL(:p_Active_Date, trunc(active_date)) ),'DD/MM/YYYY')
and to_date( (NVL(:p_Close_Date, trunc(active_date) ) ),'DD/MM/YYYY')我有一个类似的问题,查询没有显示我输入的参数范围内的记录。
希望这能有所帮助。
发布于 2016-08-31 03:09:31
试一试
WHERE
(:P_START_DATE IS NULL OR trunc(ACTIVE_DATE) > :P_START_DATE )
AND
(:P_END_DATE IS NULL OR trunc(ACTIVE_DATE) < :P_END_DATE )WHERE
(:P_ACTIVE_DATE IS NULL
OR ((START_DATE IS NULL OR START_DATE <= :P_ACTIVE_DATE )
AND (END_DATE IS NULL OR END_DATE > :P_ACTIVE_DATE )))这两种方法都不能满足您的需要,但是您了解了AND/OR如何处理IS NULL。
https://stackoverflow.com/questions/35056970
复制相似问题