我有下面的示例查询,它从过程参数中获取值。参数可以传递,也可以默认为null。
SELECT * FROM table
WHERE( table_term_code = '201931'
OR (table_term_code = '201931' and table_DETL_CODE ='CA02')
OR ( table_term_code = '201931' and table_ACTIVITY_DATE = sysdate)
OR ( table_term_code = '201931' and table_SEQNO = NULL));
i、 e用户可以输入术语代码而不输入任何其他参数,也可以输入术语代码和表格详细代码而不输入任何其他参数。
其他两个或多个条件也是如此。
如果传递了一个术语代码,并且表\u detl \u code为null,则查询应返回该术语代码的所有值,而此查询返回null。
在pl/sql中,有没有一种不带case或if条件的方法来实现这一点?
2条答案
按热度按时间wlp8pajw1#
如果我理解正确的话,这可能就是你想要的:
dxpyg8gm2#
该描述似乎要求用户输入表\术语\代码,然后输入“无”或正好是其他3项中的1项。如果是这样,那么也许: