oracle null 不等于,oracle判断null函数

  oracle null 不等于,oracle判断null函数

  在网上看到这样一个帖子。

  含义:

  问:什么是NULL?

  答:当我们不知道具体数据是什么,也就是未知的时候,可以用NULL。我们称之为null。在ORACLE中,包含空值的表列的长度为零。

  ORACLE允许任何数据类型的字段为空,但以下两种情况除外:

  1.主键字段,

  2.定义了NOT NULL限制的字段

  描述:

  1.相当于没有价值,默默无闻。

  2.NULL不同于0、空字符串和空格。

  3.空值加、减、乘、除,结果还是空。

  4.NULL由NVL函数处理。

  5.比较时使用关键字“is null”和“is not null”。

  6.空值不能被索引,因此在查询过程中可能找不到一些合格的数据。在count(*)中,用nvl(列名,0)处理,然后检查。

  7.排序时比其他数据大(默认情况下索引按降序排序,小大),所以空值总是排在最后。

  用法:

  SQL select 1 from dual where null=null;

  未找到记录。

  SQL select 1 from dual where null=“”;

  未找到记录。

  SQL select 1 from dual where = ;

  未找到记录。

  SQL select 1 from dual where null is null;

  一个

  -

  一个

  SQL select 1 from dual其中nvl(null,0)=nvl(null,0);

  一个

  -

  一个

  空值加、减、乘、除,结果还是空。

  SQL select 1 null from dual

  SQL select 1-dual中的null

  SQL select 1 * null from dual

  SQL select 1/null from dual;

  查询记录。

  注意:该记录在SQL语句中为空

  将一些列设置为空值。

  Update table1 set column 1=NULL,其中column 1不为NULL;

  有一个商品销售表sale,这个表的结构是:

  month char(6)-月

  Sellnumber (10,2)-月销售额

  创建销售表(月份字符(6),销售数量);

  插入销售值( 200001 ,1000);

  插入销售值( 200002 ,1100);

  插入销售值( 200003 ,1200);

  插入销售值( 200004 ,1300);

  插入销售值( 200005 ,1400);

  插入销售值( 200006 ,1500);

  插入到销售值中(“200007”,1600);

  插入销售值( 200101 ,1100);

  插入销售值( 200202 ,1200);

  插入销售值( 200301 ,1300);

  插入销售值(“200008”,1000);

  插入销售额(月)值( 200009 );(注意:该记录的卖出值为空)

  提交;

  总共输入12条记录。

  SQL select * from sale where sell like % ;

  月销售

  - -

  200001 1000

  200002 1100

  200003 1200

  200004 1300

  200005 1400

  200006 1500

  200007 1600

  200101 1100

  200202 1200

  200301 1300

  200008 1000

  查询到11条记录。

  结果描述:

  查询结果显示,该SQL语句不查询具有空值的字段。

  这时候就需要单独处理空字段了。

  SQL select * from sale where sell like % 或sell为空;

  SQL select * from sale where nvl(sell,0)like % ;

  月销售

  - -

  200001 1000

  200002 1100

  200003 1200

  200004 1300

  200005 1400

  200006 1500

  200007 1600

  200101 1100

  200202 1200

  200301 1300

  200008 1000

  200009

  查询到12条记录。

  这就是Oracle的空值的用法。我们最好熟悉它的惯例,以防发现的结果不正确。

  我的看法其实很简单。空字符串“”就是null,所以上面的一切都是有效的,也很容易解释。

  示例:[SQL select 1 from dual where null= ;未找到记录]

  因为“”为空,则从dual中选择1,其中null=“”“”;该语句被解析为

  从dual中选择1,其中null=null当然没有记录。其他相似之处

  因此,从dual中选择1,其中“”为空;自然是有记录的。

  http://www.iteye.com/topic/220760,转载这是

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: