今天碰到一个Oracle不等于的问题,最后搜索了一下,发现下面资料,拿来跟大家分享一下
 
关于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'的记录。

Oracle中的不等于号的更多相关文章

  1. 问题:oracle 不等于;结果:Oracle中的不等于号

    Oracle中的不等于号 今天碰到一个Oracle不等于的问题,最后搜索了一下,发现下面资料,拿来跟大家分享一下   关于Oracle中的不等于号: 在Oracle中, <> != ~= ...

  2. 浅析Oracle中的不等于号

    前几天碰到一个关于Oracle不等于的问题,最后搜索了一下,发现下面资料,拿来跟大家分享一下,需要的朋友可以参考下     关于Oracle中的不等于号: 在Oracle中, <> != ...

  3. C#中Equals和= =(等于号)的比较)

    C#中Equals和= =(等于号)的比较) 相信很多人都搞不清Equals和 = =的区别,只是零星的懂一点,现在就让我带大家来进行一些剖析 一.           值类型的比较 对于值类型来说  ...

  4. C#中Equals和= =(等于号)的比较)(转载)

    C#中Equals和= =(等于号)的比较) 相信很多人都搞不清Equals和 = =的区别,只是零星的懂一点,现在就让我带大家来进行一些剖析 一.           值类型的比较 对于值类型来说  ...

  5. C#中Equals和= =(等于号)的比较(转)

    一.           值类型的比较 对于值类型来说  两者比较的都是”内容”是否相同,即 值 是否一样,很显然此时两者是划等号的. 例: int i = 9; int j = 9; Console ...

  6. C#中Equals()和= =(等于号)区别

    在这里,首先得告诉大家,在C#中,不管是 == ,还是 Equals() 我们都是可以重写的.所以,在具体选择使用两者时,还是得根据这两个方法的具体实现逻辑来选择. 值类型的比较 对于值类型来说,两者 ...

  7. javaScript中两个等于号和三个等于号之间的区别

    一言以蔽之:==先转换类型再比较,===先判断类型,如果不是同一类型直接为false. ===表示恒等于,比较的两边要绝对的相同 alert(0 == ""); // trueal ...

  8. Javascript中两个等于号和三个等于号的区别(==/===)

    ==//表示值的比较 ===//表示对象类型的比较 1.对于string,number等基础类型,==和===是有区别的. a)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,== ...

  9. Oracle“不等于号”与Nulls的情况(转)

    今天突然才发现,Oracle中的“不等于操作符”是忽略null的. 比如,查询comm不等于的500的记录,我会理所当然地使用where comm != 500 预想会返回包含null的不等于500的 ...

随机推荐

  1. BZOJ2661 连连看 (费用流)

    把所有点拆成两个,将符合条件的两个点x,y连上边,流量为1,费用为-(x+y). 做一遍最小费用最大流,最后ans div 2即可. Program bzoj2661; ; ..] of longin ...

  2. .NET概念:.NET程序编译和运行

    .NET概念:.NET程序编译和运行 分类: c#程序设计 2012-02-29 15:46 3001人阅读 评论(2) 收藏 举报 .net编译器语言microsoftassemblyvb.net ...

  3. 再生核希尔伯特空间(RKHS)在监督学习(SVM)中的应用

    [转载请注明出处]http://www.cnblogs.com/mashiqi 2014/4/10 在网上找到一个讲reproducing kernel的tutorial看了一看,下面介绍一下. 首先 ...

  4. mybatis和model关联

    <select id="getSubCreditLogBySubCreditId" parameterType="long" resultType=&qu ...

  5. Find Minimum in Rotated Sorted Array II

    Follow up for "Find Minimum in Rotated Sorted Array":What if duplicates are allowed? Would ...

  6. find 和 locate 命令

    一, find 命令 find 命令有三部分构成 1,你要搜索的目录 (. 当前目录, ~家目录, /根目录). 2,你的搜索条件. 3,搜索到后要执行的动作. 常用命令: 1, find . -na ...

  7. 1分钟学会Markdown语法

    markdown 简明语法 基本符号 *,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号 空白行表示另起一个段落 `是表示inline代码,tab是用来标记 代码段,分别对应htm ...

  8. keynotes egestas,PPT 渐变背景下载-imsoft.cnblogs

  9. Eclipse 手机开发不能运行

    ADB server didn't ACK问题 The connection to adb is down, and a severe error has occured. 1.先把eclipse关闭 ...

  10. linux shell 逻辑运算符、逻辑表达式详解

    shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果. 一.逻辑运算符 逻辑卷标 表示意思 1. 关于档案与目录的侦测逻辑卷标! -f 常用!侦测 ...