ORACLE查询条件为空,则跳过该条件。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE查询条件为空,则跳过该条件。相关的知识,希望对你有一定的参考价值。
比如说我要按性别进行查询,如果性别为空的时候,则查询不受性别约束
参考技术A where sex='女' or sex is null 这样是查出性别为女或者性别为空的数据吧。我理解是这样:
Select * from table where sex = (case when nvl(条件, '*') = '*' then sex else 条件 end);
这样的话,传入是“女”,就是查询 sex=“女”,传入的是空,则查询全部。
oracle 9i测试通过本回答被提问者采纳 参考技术B WHERE GANDER=NVL(条件,GANDER) 参考技术C where nvl(sex,'男')='男'
where nvl(sex,'女')='女'
这样就可以了 参考技术D where sex='女' or sex is null 这样可以的啊
oracle查询判断怎么写
比如一个表中有数据
id state name
1 0 jack
1 1 li
2 0 mac
查询的时候怎样过滤,同一个id判断状态state如果有1的只查出1的这一行,如果没有1的查出0的这一行,
就是查出的结果是
1 1 li
2 0 mac
这个语句要怎么写
distinct id,state,name
FROM
table1 main
WHERE
NOT EXISTS( select 1 FROM table1 sub where main.id=sub.id AND main.state<sub.state);
未经测试。。。纯属手写,,如果以自己多年经验来说的话。。这段话应该不会有多大问题。。。希望你自己仔细测试之后能够提出宝贵意见!!!
select id,state,name from tab
where state = '0'
and id not in ( select id from
(select id,state,name from tab where state = '1' ) )
union all
select id,state,name from tab where state = '1'
以上是关于ORACLE查询条件为空,则跳过该条件。的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4 路由 - 如果条件不满足,则可以跳过路由