Oracle / SQL 查询
Oracle / SQL Query
如果传递的天数参数为 NULL
,如何获取所有行。
以下是我查询的一部分:
and rti.creation_date >sysdate - P_DAYS
(P_days
可以是 null
,在这种情况下我需要获取所有行)
以下是否有效:
and rti.creation_date >=sysdate - NVL(:P_DAYS ,
(Select TRUNC(SYSDATE)-TRUNC(min(creation_date)) from
apps.rcv_transactions_interface))
如果您需要将空值设为零,那么我会使用 coalesce
将 null
P_DAYS
变为零,如下所示:
and rti.creation_date > sysdate - coalesce(P_DAYS,0)
相反,如果您需要它是一个很大的数字以便及时返回,请将您的大数字替换为零以获取所有记录。
如果 P_DAYS 为空,是否需要获取所有行(就好像条件不存在一样)?
然后你可以使用这个代码
and (rti.creation_date >sysdate - P_DAYS or P_DAYS is null)
如果传递的天数参数为 NULL
,如何获取所有行。
以下是我查询的一部分:
and rti.creation_date >sysdate - P_DAYS
(P_days
可以是 null
,在这种情况下我需要获取所有行)
以下是否有效:
and rti.creation_date >=sysdate - NVL(:P_DAYS ,
(Select TRUNC(SYSDATE)-TRUNC(min(creation_date)) from
apps.rcv_transactions_interface))
如果您需要将空值设为零,那么我会使用 coalesce
将 null
P_DAYS
变为零,如下所示:
and rti.creation_date > sysdate - coalesce(P_DAYS,0)
相反,如果您需要它是一个很大的数字以便及时返回,请将您的大数字替换为零以获取所有记录。
如果 P_DAYS 为空,是否需要获取所有行(就好像条件不存在一样)? 然后你可以使用这个代码
and (rti.creation_date >sysdate - P_DAYS or P_DAYS is null)