51 本源:网海拾贝


问:什么是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);
insert into sale values('200005',1400);
insert into sale values('200006',1500);
insert into sale values('200007',1600);
insert into sale values('200101',1100);
insert into sale values('200202',1200);
insert into sale values('200301',1300);
insert into sale values('200008',1000);
insert into sale(month) values('200009');(留意:这笔记载的sell值为空)
commit;
共输入12笔记载
SQL> select * from sale where sell like '%';
MONTH       SELL
------ ---------
200001      1000
200002      1100
200003      1200
200004      1300
200005      1400
200006      1500
200007      1600
200101      1100
200202      1200
200301      1300
200008      1000
盘问到11记载.
后果阐明:
盘问后果阐明此SQL语句盘问不出列值为NULL的字段
此时需对字段为NULL的气象另外处理。
SQL> select * from sale where sell like '%' or sell is null;
SQL> select * from sale where nvl(sell,0) like '%';
MONTH       SELL
------ ---------
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的空值即是这么的用法,我们最好认识它的商定,以防查出的后果不准确

版权声明: 原创作品,许可转载,转载时请务必以超链接方式标明文章 原始出处 、作者信息和本声明。不然将追查规律责任。

转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1976339.html

先容Oracle中null的运用要领。相关推荐

  1. oracle正确使用索引,通过案例学调优之--Oracle中null使用索引

    通过案例学调优之--Oracle中null使用索引 默认情况下,Oracle数据库,null在Index上是不被存储的,当在索引列以"is null"的方式访问时,无法使用索引:本 ...

  2. Oracle中Null与空字符串''的区别

    http://read.newbooks.com.cn/info/172049.html Oracle中Null与空字符串''的区别 来源:CSDN   作者:jsjzzh   发布时间:2007-1 ...

  3. oracle null 值,细说Oracle中NULL值

    1.NULL是什么? NULL表示UNKNOW(未知),其不代表不论什么值. 比如一行中某列没有不论什么值即为NULL. ORACLE同意不论什么一种数据类型的字段为空,除了下面两种情况: 1)主键字 ...

  4. Oracle中Null与空字符串' '的区别

    含义解释: 问:什么是NULL? 答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零. ORACLE允许任何一种数据类型的字段为空,除 ...

  5. ORACLE中null的排序问题

    在平时的业务处理中,经常遇到要对业务数据进行排序,并且要对null值也做相应的排序.在Oracle中,进行Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降 ...

  6. Oracle中null值的比较

    在Oracle中,如果两个列值是null,那么这两个列值是不能用=号进行比较的,需要判断一下NVL(XXX,Y)=NVL(XXXX,Y) 当列值为null时,则赋值相同的Y,然后进行比较,不为null ...

  7. Oracle中的NULL(二、NULL详解)

    2019独角兽企业重金招聘Python工程师标准>>> 说明:本篇文章是摘取自以下链接的Blog,但作者的这篇文章也是转载(非常感谢),我在记录的时候也有添加自己的思考. http: ...

  8. Oracle中的NULL(一、问题引入)

    2019独角兽企业重金招聘Python工程师标准>>> 说明:最近在写后台程序的时候,遇到了关于Oracle中NULL的一个问题: 测试数据 表结构: 表中已有的数据: 插入数据: ...

  9. oracle根据null排序,oracle 关于null值排序

    在oracle中根据字段来desc排序的话null值可能会在数据的最前面.然而有时候我们查看数据的时候并不希望能够在前面看到这些null值的排序数据. 因此我查了一下: 1.排序的时候运用nvl(). ...

最新文章

  1. c++程序影像读取_应急响应手册程序执行痕迹
  2. 《jQuery Mobile入门经典》—— 2.7 练习
  3. mpvue 微信小程序api_第三方框架与原生微信小程序开发框架性能之比较 | Q荐读...
  4. Objective-C语法汇总
  5. HOG(方向梯度直方图)
  6. django中的CSRF
  7. git 分支管理策略 与 物理实现 --author by阮一峰 小鱼
  8. 和项目组研究计算几何
  9. 果园机器人反思稿_《果园机器人》教学反思
  10. 计算机基础教学模式,计算机应用基础 2018 [基于能力本位的“计算机应用基础”教学模式初探]...
  11. ‘adb‘ 不是内部或外部命令and Error while executing: am start -n解决
  12. windows .ssh文件位置 hosts位置
  13. POI导入Excel文档试题案例
  14. 评分卡模型分数转换整个流程
  15. 支付宝VS微信支付竞品分析
  16. apqp过程流程图及编写规则_APQP各阶段输入及输出流程图(含输出资料清单)
  17. 算法的时间复杂度比较,计算多项式的直接法和秦九韶法
  18. 原生js完成拼图小游戏
  19. Linux宝塔控制面板如何实现多个二级域名301重定向跳转
  20. MYSQL数据库插入数据时出现Data truncation问题

热门文章

  1. 简单使用CXF实现webserver(rs的独立发布)
  2. codeforces C. Xor-tree
  3. 枚举生成MVC3: Bind Enum To DropDownList ?-java教程
  4. 过滤JSON中的特殊字符
  5. 公众号出现该公众号提供的服务出现故障分析
  6. java orika_常见Bean映射工具分析评测及Orika介绍
  7. curl 请求日志_HTTP入门(一):在Bash中curl查看请求与响应
  8. java mysql 异步查询数据库_java 异步操作数据库
  9. mongodb save和insert区别
  10. flash影响中文输入