Oracle中的不等于号(转)ITeye - 凯时娱乐

Oracle中的不等于号(转)ITeye

2019年04月01日14时52分27秒 | 作者: 梦蕊 | 标签: 等于号,等于,判别 | 浏览: 242

关于Oracle中的不等于号: 

在Oracle中, 

 
!= 
~= 
^= 

都是不等于号的意思。都可以运用。 

可是古怪是的, 我想拿出price不是180000的产品时:(price是Number类型的) 

SELECT id, name  FROM product where price 180000; 

履行这个句子时,priceis null  的记载不出来。也便是拿不到price是null的产品。有必要运用: 

SELECT id, name  FROM product where price 180000 or price is null;才行。 

字符串的字段存在相同的问题。 

记住:null只能经过is null或许is not null来判别,其它操作符与null操作都是false。 



   测验:select * from test where name xn。只能查出name非空的记载。去掉name xn就可以了。这种写法有问题。 

       然后用了instr(name,xn)=0 来判别,假如name非空的话,判别仍是有用的。假如name为空,这个判别又出问题了。不得已只得采纳instr(concat(name,xx),xn) = 0来判别,由于就算name为空,当和xx衔接后,也会不为空的。 

       所以最终的sql句子为: 

       select * from test where instr(concat(name,xx),xn) = 0 来查询name字段不等于xn的记载。 

       或许可以用 select * from test where nvl(name,xx) xn 来查询name字段不等于xn的记载。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章