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
这个语句要怎么写

SELECT
  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);

未经测试。。。纯属手写,,如果以自己多年经验来说的话。。这段话应该不会有多大问题。。。希望你自己仔细测试之后能够提出宝贵意见!!!

参考技术A ###这个表设计的真SB,

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查询条件为空,则跳过该条件。的主要内容,如果未能解决你的问题,请参考以下文章

如果函数内部的条件失败,则跳过 bash while 循环

ORACLE因为字符集不同,进行中文条件查询,查询结果为空

oracle查询判断怎么写

Laravel 4 路由 - 如果条件不满足,则可以跳过路由

oracle SQL查询中,如何在where中用条件语句,判断不同情况,追加不同的And条件?

Python:如果条件为真,则跳过 For 循环中的迭代