SQL 中 NULL与空值('')

在用select语句查询表中NOT NULL字段时,居然出现了空值(‘’),借此机会将两者的区别进行一次整理。

 

  【NULL】

       <解释>     

             NULL表示数据表中字段的缺省值(数值未知),即没有赋值的状态。

             NULL与任何值进行计算结果也是NULL。

             在WHERE条件中,NULL结果会被解释成FALSE。

   <产生>

             a. 使用INSERT或UPDATE语句对表中数据进行添加或更新时,显示指定某字段为NULL。

             b. 使用INSERT语句添加数据时,不指定某字段值。

             c. 使用SELCET语句对表进行查询时,查询的指段含有条件运算(CASE WHEN),且没有指定ESLE,

                 如果某值走到ELSE分支,结果将会出现NULL。

             d. 用外关联进行查询时,如果主表关联字段值在副表中不存在,且查询字段中含副表字段时,

                 该字段值将显示为NULL。

             e. 用ALTER TABLE语句在已知表中添加新字段。

       <判断>

           判断某字段是否为NULL,可以用IS NULL 或 IS NOT NULL, 不能用 <> 或 != 或 =

       <相关函数>

              NVL(exp1, exp2)                   -- 如果exp1为NULL,则返回exp2, 否则返回exp1

                                                               --exp1和exp2必须类型相同

 

             NVL2(exp1,exp2,exp3)          --如果exp1为NULL,则返回exp3, 否则返回exp2

                                                                --exp2和exp3如果类型不同,exp3会自动转换成exp2类型

  【空值('')】

        <解释>

           空值('')表示长度为0的字符串。

        <产生>

           用INSERT或UPDATE可以显示添加或更新某字段值为空值('')。

         <判断>

             可以用 <> 或 != 或 =

            

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值