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. ecshop 支付

    支付分成两部分 1.订单信息 2.支付日志ID 3.生成支付代码 一次性支付完成 // 支付信息 include_once('includes/lib_payment.php'); $order['l ...

  2. java ssh 框架下 利用junit4 spring-test进行单元测试

    ssh框架下  由于bean实列 都交给spring 管理,要做单元测试就比较苦难,junit4 引入注解方便很多: 1. 加入依赖包 使用Spring的测试框架需要加入以下依赖包: JUnit 4 ...

  3. PG 函数的易变性(Function Volatility Categories)

    此概念的接触是在做分区表的时候碰到的,分区表按时间字段分区,在查询时当where条件中时间为now()或者current_time()等时是无法查询的,即使进行格式转换也不行,只有是时间格式如‘201 ...

  4. Linux如何查看文件系统(磁盘使用情况)

    查看磁盘剩余空间: df -Th 用法:df [选项]… [文件]… 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统. 长选项必须用的参数在使用短选项时也是必须的. -a, ...

  5. codeblock 编译googletest

    1.cmake安装 2.codeblock  16.01 3.Google Test 1.7.0 4.PATH路径添加(重启电脑,保证设置的PATH路径生效) 5.python安装 6.编译安装:   ...

  6. PL/SQL Developer 连接 64位Oracle 服务端 解决方案

    PL/SQL是32位程序,只能通过32位的Oracle驱动连接Oracle服务器.如果Oracle服务器是64位的,那么只能通过需要通过一个32位的Oracle客户端,来搭建连接. 到官网下载一个客户 ...

  7. css content 的 attr 用法 (实现悬浮提示)

    content 的attr 实现 鼠标悬浮 显示 悬浮提示, content 属性与 :before 及 :after 伪元素配合使用,来插入生成内容. 方法/步骤 1 <div> < ...

  8. HDU 3966 Aragorn's Story 树链剖分

    Link: http://acm.hdu.edu.cn/showproblem.php?pid=3966 这题注意要手动扩栈. 这题我交g++无限RE,即使手动扩栈了,但交C++就过了. #pragm ...

  9. proj.4投影变换图示

  10. canvas的简单圆形进度条

    window.onload = function(){ function arc(canvas,number){ var canvas = document.getElementById(canvas ...