oracle实现多条件或者单一条件查询

发布网友 发布时间:2022-02-28 18:10

我来回答

2个回答

热心网友 时间:2022-02-28 19:39

如果不用那个条件,会给数据库传入什么呢?

如果传入的是NULL 

可以这样

SELECT XXX
FROM TTT
-- 意思是如果传入个NULL,那么就是A =A 一定成立
-- 如果传入的不是NULL,那么就是 A = 传入的A
WHERE A= NVL(传入的A,A)

 如果传入的不是NULL,可以考虑传入一个肯定没有的特殊值,

用DECODE代替NVL

DOCODE(传入的A,特殊值,A, 传入的A)

热心网友 时间:2022-02-28 20:57

若你都用与操作 那么很简单...
先得出你所有查询条件 类似于一个数组..
然后根据数组的数量 来拼接sql 就好了饿

例如 你 是一个条件 就不用and 如果是两个条件 就是 一个and 如果3个 就是2个and追问我有点没明白怎么做,具体怎么拼接?能不能写个列子我看看, 谢谢

追答假设你的条件为 aaa = xx bbb = yy
那么你的sql 就是
select * From xXXXXX where aaa = XX and bbb = yy;

当 如果你的条件为 aaa = xx bbb = yy ccc = zz
select * From xXXXXX where aaa = XX and bbb = yy and ccc = zz
类似的 有多条件 就多一个and 就好了...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com