NULL 是数据库中特有的数据类型

Oracle 中对空的描述
null
Absence of a value in a column of a row. Nulls indicate missing, unknown, or inapplicable data. 

当一条记录的某个列为 NULL ,则表示这个列的值是未知的、是不确定的既然是未知的,就有无数种的可能性。
因此, NULL 并不是一个确定的值
 
-- 判断一个列为空
SELECT * FROM CUSTOMEREN C WHERE C.MODIFYDT IS NULL;
-- 判断一个列非空
SELECT * FROM CUSTOMEREN C WHERE C.MODIFYDT IS NOT NULL;
 

测试:
 
--NULL=NULL么: NULL is not equal to NULL
SELECT CASE
         WHEN NULL = NULL THEN
          'NULL is equal to NULL'
         ELSE
          'NULL is not equal to NULL'
       END "NULL=NULL?"
  FROM DUAL;
 
--空串=NULL么 :空串 is not equal to NULL
SELECT CASE
         WHEN '' = NULL THEN
          '空串 is equal to NULL'
         ELSE
          '空串 is not equal to NULL'
       END "空串=NULL?"
  FROM DUAL;
 
--空格=NULL么: 空格 is not equal to NULL
SELECT CASE
         WHEN ' ' = NULL THEN
          '空格 is equal to NULL'
         ELSE
          '空格 is not equal to NULL'
       END "空格=NULL?"
  FROM DUAL;
 
--'' 是NULL么: '' is NULL
SELECT CASE
         WHEN '' IS NULL THEN
          ''''' is NULL'
         ELSE
          ''''' is not NULL'
       END "'' is NULL?"
  FROM DUAL;
 
--空串=空串么:'' is not equal to ''
SELECT CASE
         WHEN '' = '' THEN
          ''''' is equal to '''''
         ELSE
          ''''' is not equal to '''''
       END "''''=''''?"
  FROM DUAL;
 
-- 将null替换成一个值
 select 1 from dual where nvl(null,0)=nvl(null,0);
 

NULL 排序问题
 
方法 1  将null替换成一个值 ,是用nvl 函数
 select 1 from dual where nvl(null,0)=nvl(null,0);
 
方法2 是用NULLS LAST,NULLS FIRST处理 
SELECT c.modifydt FROM customeren c ORDER BY c.modifydt NULLS LAST;
SELECT c.modifydt FROM customeren c ORDER BY c.modifydt NULLS FIRST;
 

【ORACLE】特殊的NULL的更多相关文章

  1. Oracle空串与null的处理

    来源于:http://blog.itpub.net/24870090/viewspace-1057853/ Oracle空串与null的处理[@more@] Oracle中的空字符串基本上是被当成空N ...

  2. SQL升级Oracle挖的Null坑,你懂的!

    最近公司做系统数据库升级,主要由原来的SQL数据库升级Oracle数据库,对于拥有千万级数据库的实用系统来说,迁移不是件容易的时,光数据同步就需要很久,更别说要修改升级原来的SQL库使用的存储过程和视 ...

  3. Oracle中的NULL、’’(空字符串)以及’_’(空格)

    本文首发于 http://youngzy.com/ 在Oracle中使用 null,''(空字符串),'_'(空格)时,有没有遇到问题?产生疑惑? null和’’(空字符串)是一个意思 注: 为了便于 ...

  4. oracle 中的null与''

    1.先看看Null与''在oracle中的表现 C:\Users\zen>sqlplus hr/hr SQL Production :: Copyright (c) , , Oracle. Al ...

  5. 【转】oracle中的NULL、''(空字符串)以及'_'(空格)

    在Oracle中使用null,''(空字符串),'_'(空格)时,有没有遇到问题?产生疑惑? 1.NULL和''(空字符串)是一个意思 注:为了便于区分空字符串和空格,下面的示例均以'_'代表空格. ...

  6. oracle之简null空值问题,用nvl(a,b)函数解决

    oracle之简null空值问题,用nvl(a,b)函数解决 原文链接:https://blog.csdn.net/u013821825/article/details/48766749 oracle ...

  7. 【转】Oracle索引列NULL值引发执行计划该表的测试示例

    有时开发进行表结构设计,对表字段是否为空过于随意,出现诸如id1=id2,如果允许字段为空,因为Oracle中空值并不等于空值,有可能得到意料之外的结果.除此之外,最关键的是,NULL会影响oracl ...

  8. Oracle中的null

    测试数据:公司部分员工基本信息

  9. oracle 空值与 null

    Oracle中的空字符串基本上是被当成空NULL来处理的,我们可以从下面的得到印证. select nvl('','NULL') from dual          返回 'NULL' select ...

  10. Oracle 与 Mysql NULL值,空字符串''的区别

    Oracle(null等同于空字符'') 1.oracle插入空字符串默认替换成null 2.oracle查询(null和被替换的空字符)时使用 is null/is not null 3.使用聚合函 ...

随机推荐

  1. rails 常用的知识点

    按惯例先上网址:  http://guides.ruby-china.org/    适合初学者很好的文章 ===========================知识点================ ...

  2. 短信接口API

    /** * Created by bingone on 15/12/16. */ import org.apache.http.HttpEntity; import org.apache.http.N ...

  3. linuxmint 17安装scim输入法

    安装输入法框架: sudo apt-get install scim 安装输入法: sodu apt-get install scim-pinyin 此时启动的输入法的候选词框不随着光标移动,需要安装 ...

  4. BZOJ2006——[NOI2010]超级钢琴

    1.题意:给一个序列,让你取出k个不同的区间,要求长度在之间,问所有区间和的最大值 2.分析:这道题拿过来就能知道是要拿出前k个最大的区间,我们思考最暴力的做法,就是把这个所有的区间枚举出来算,取出前 ...

  5. r-cnn学习(四):train_faster_rcnn_alt_opt.py源码学习

    论文看的云里雾里,希望通过阅读其代码来进一步了解. 参考:http://blog.csdn.net/sloanqin/article/details/51525692 首先是./tools/train ...

  6. Nubia Z9 mini使用体验

    前续用的手机:荣耀6 想换的理由: 1, 充电不方便,除了原装的充电器和小米移动电源,其他的充电器和移动电源约有一半都只能以USB方式慢充,即使是2.0A以上输出电流的: 2, 拍照太渣. Z9 mi ...

  7. Python自动化之一对多

    一对多 建立一对多关系之后(也就是加了外键),会在字表里面多一个"外键字段_id"这个字段 查询 #_*_coding:utf-8_*_ from django.db import ...

  8. C#夯实基础系列之const与readonly

    一.const与readonly的争议       你一定写过const,也一定用过readonly,但说起两者的区别,并说出何时用const,何时用readonly,你是否能清晰有条理地说出个一二三 ...

  9. nginx和rewrite的配置

    测试ok 具体参见 http://www.ccvita.com/348.html

  10. 整合Spring、SpringMVC、MyBatis

    spring+springmvc+mybatis集成 一个核心:将对象交给spring管理. 1新建web项目 2添加项目jar包 spring包见上一篇博客 3建立项目的目录结构 4完成Mapper ...