oracle查询不等于条件包含null值

需求:现在oracle数据库中有字段is_use 的值有:null,0,1,2。现在需要查询不等于2的数据

解决办法的sql: select * from uc_Users where nvl(is_use,‘xx‘)<>‘2‘

=======================================

nvl(is_use,‘xx‘)的意思是:如果is_use为null,值为xx。

如果用select * from uc_Users where is_use<>‘2‘ 只会查询出0,1的数据。null的数据查询不出来。

===============================================

至于为什么查询不出来,去搜一下会有一大推解释,我就不粘贴了。

时间: 2024-10-27 02:49:10

oracle查询不等于条件包含null值的相关文章

Oracle SQL篇(一)null值之初体验

    从我第一次正式的写sql语句到现在,已经超过10年的时间了.我写报表,做统计分析和财务对账,我一点点的接触oracle数据库,并尝试深入了解.这条路,一走就是10年,从充满热情,到开始厌倦,我不知道我还能坚持多久,未来的路,谁知道呢? 也许是该抓紧时间,做一点什么了,我不知道该开始写些什么,我从来没有在网上写东西的习惯.     先从简单的开始吧,那当然就是SQL,这是我SQL系列的第一篇,希望我能够坚持. 在Oracle数据库中,如果一个表中的列没有值的话,我们可以说是空值,比如IT员

对”唯一键可以包含NULL值,并且每个NULL值都是唯一的(即NULL!=NULL)“理解

因为最近在写一篇关于字符串模糊检索的论文,开始比较细致的研究数据库(MySQL)中的index问题,变到图书馆借了本<Effective MySQL之SQL语句最优化>(Ronald Bradford著,李雪峰译).今天在里面看到了这句”唯一键可以包含NULL值,并且每个NULL值都是唯一的(即NULL!=NULL)“.第一反应是:我去,什么鬼?简直不是人话啊!!其实计算机行业好多这种话,想了想然后便到网上查找了写资料! 使用WHERE子句的SQL SELECT命令来从MySQL表获取数据.但

如何高效的查询数组中是否包含某个值

一.有四种方式查询数组中是否包含某个值 1.使用List public static boolean useList(String[] arr, String targetValue) { return Arrays.asList(arr).contains(targetValue); } 2.使用Set public static boolean useSet(String[] arr, String targetValue) { Set<String> set = new HashSet&

automapper如何全局配置map条件过滤null值空值对所有映射起效

原文 automapper如何全局配置map条件过滤null值空值对所有映射起效 我们在使用automapper的时候经常会遇到这样的问题:假设展示给用户的数据我们用UserDto类,User类就是我们的实体类.在给用户编辑的时候,我们可能某些字段在数据库中为Null,这时候需要一些默认值 比如这里UserDto中的BirTime,然后我们有一些人的习惯是在构造函数里面进行赋值 public class User { public int Id { get; set; } public stri

Oracle使用order by排序关于null值处理

在Oracle中使用order by进行查询排序时,如果排序字段中有空值(null),排序结果可能会达不到我们想要的结果.如: select * from test order by age desc; 按照age字段降序排序,结果如下: 将sql语句改为 select * from test order by age desc nulls last; 即可将null值排到最后."nulls last"将空值放在后面,相反的"nulls first"将空值记录放在前

MSSQL 日期查询 包含NULL值

and create_time >= isnull(@create_time,''2010-01-01'') and create_time <= isnull(@Endcreate_time,''2200-01-01'') and more_dat01 >= isnull(@more_dat01,''2010-01-01'') and more_dat01 >= isnull(@Endmore_dat01,''2200-01-01'') exec sp_executesql N'

Oracle如何查询不等于某数值

前言 今天在使用Oracle查询“不等于”的时候,发现得到的数据与期望中的不一样,进一步查找资料才有发现. 1.Oracle的不等于 在Oracle中,"<>"."!="."^="都是表示“不等于”,都可以拿来使用. 但是,在我使用的时候,却发现得不到我想要的数据,如下: --查询 IS_JOB_CREATE != 2 的数量; SELECT count(1) FROM gccsdb.CCS_MSALE_RCMD_SETTING t

【PLSQL】NULL值的处理

下面是NULL的几个注意点: 1.NULL值既不是空格也不是0. 2.给表插入值的时候,如果没有给列指定列值,则默认为NULL. 3.当算术表达式里包含NULL值时,其计算结果也是NULL值. 这时候如果我们需要得到确定的结果值,我们就该对NULL值进行处理了,这里有两种函数可以用来处理NULL值,NVL函数和NVL2函数,用法如下: sal+NVL(comm,0)   --sal是工资列,comm是奖金列,当comm列为NULL值时就用0来替换NULL值进行算术运算 NVL2(comm,sal

mysql null值处理详细说明

在讲null之前,我们先看一个例子 表数据如下: 3306>select * from t1; +------+-------+ | id | name | +------+-------+ | 1 | chen | | 2 | zhang | | 3 | NULL | +------+-------+ 3 rows in set (0.00 sec) 然后我们想查出所有名字不为'chen'的其它行记录,我们有可能这样写: 3306>select * from t1 where name!='