NULL的介绍

一、 NULL与0、空格(’’)的区别


       从物理空间来讲,0和空格(’’)是占有空间的,而空值(NULL)是不占有空间的。空值(NULL)表示未知、不确定值。


二、 NULL相关的运算


    ●聚合函数,除了COUNT()之外,其他的都会把控制(NULL)给忽略掉。
    ●四则运算。任何与NULL运算都为NULL。
    ●与NULL相关的函数:
      1、NULLIF(exp1,exp2).表示如果exp1与exp2相等的话,则返回NULL,否则返回exp1;
      2、NVL(exp1,exp2)。表示如果exp1为NULL则返回exp2,否则返回exp1;
      3、Coalesce(exp1,exp2,…….expn).返回一连串字符串中第一个不为NULL的值。
    ●排序。空值(NULL)在ORACLE中被默认认为是最大值。为此,排序时有这样的设定:
                 ORDER  BY  column1 [ASC|DESC]  NULL FIRST|LAST
    ●索引。IS NULL 和IS NOT NULL 的NULL值判断会使得索引无效,因为索引物理文件中不包括空值。
    ●约束。NOT NULL这个约束建立的时候只能以内联的方式建立,如下:

CREATE TABLE AB 
(COLUMN_A INTERGER  NOT NULL);
或者
ALTER TABLE AB
MODIFY  COLUMN_A  NOT NULL;



     不能以“外部方式”建立NOT NULL约束。这一点是跟其他的约束有别的。如以下方式会报错:

CREATE TABLE AB
(
COLUMN_A  INTEGER,
NOT NULL(A)
);
或者
ALTER TABLE AB
      MODIFY NOT NULL(A)



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值