【技巧】Oracle中null用法总结(1)

【技巧】Oracle中null用法总结(1)

  Oracle中null的使用详解

  问:什么是NULL?

  答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,

  我们称它为空,ORACLE中,含有空值的表列长度为零。

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

  1、主键字段(primary key),

  2、定义时已经加了NOT NULL限制条件的字段

  说明:

  1、等价于没有任何值、是未知数。

  2、NULL与0、空字符串、空格都不同。

  3、对空值做加、减、乘、除等运算操作,结果仍为空。

  4、NULL的处理使用NVL函数。

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

  6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*)中,用nvl(列名,0)处理后再查。

  7、排序时比其他数据都大(索引默认是降序排列,小→大),所以NULL值总是排在最后。

  使用方法:

  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;

  1

  ---------

  1

  SQL》 select 1 from dual where nvl(null,0)=nvl(null,0);

  1

  ---------

  1

  对空值做加、减、乘、除等运算操作,结果仍为空。

  SQL》 select 1+null from dual;

  SQL》 select 1-null from dual;

  SQL》 select 1*null from dual;

  SQL》 select 1/null from dual;

  查询到一个记录。

  注:这个记录就是SQL语句中的那个null

  设置某些列为空值

  update table1 set 列1=NULL where 列1 is not null;

  现有一个商品销售表sale,表结构为:

  month  char(6)  --月份

  sellnumber(10,2) --月销售金额

  create table sale (month char(6),sell number);

  insert into sale values(’200001’,1000);

  insert into sale values(’200002’,1100);

  insert into sale values(’200003’,1200);

  insert into sale values(’200004’,1300);

  •  
  • 在线报名

 
     姓 名:
     性 别:
     联系电话:
     qq:
    验证码:
 
·报名须知·
点击咨询 点击咨询
点击咨询 点击咨询 点击这里给我发消息
  •  
  • 学员作品
学员作品
Oracle学校 | Oracle学校 | 技术学堂 | Oracle简介 | 关于中心 | 人才加盟 | 联系我们 | 点击咨询
2012Copyright © 北京市大兴区华腾职业技能培训学校 版权所有 友情链接QQ
学校地址:北京市海淀区北三环中路27号 商房大厦六层 马甸桥东(国美电器楼上)
报名热线:400-690-8516 010-82013489 82015141 京ICP备11042126号 京公网安备110102004701