浅谈oracle 空值null与'null',''

oracle的null,'null',''值在具体到写sql语句的时候,经常会产生疑虑,不知道是写成null还是'null'还是'',写的是否正确,因此实践了一下,解决自己在以后的顾虑。

 1.字段与空值的比较:

   select t.name from emps_table t  where t.name <> 'null' 

   上述sql语句不能写为:

   select t.name from emps_table t  where t.name <> null

    否则结果和自己想要的不一样

 2.集合与空值的比较:

    测试sql:

    1. 假如select t.name from emps_table t  where t.name <> '' 返回一个空集合

    2. 测试集合与null的比较

        select decode((select t.name from emps_table t  where t.name <> ''),null,'1','2') from dual

        结果输出:1 ,说明空集合==null

        select decode((select t.name from emps_table t  where t.name <> ''),‘null’,'1','2') from dual

        结果输出:2,说明空集合!='null‘

  3.其实,'null'==''

     select t.name from emps_table t  where t.name <> 'null' 

     select t.name from emps_table t  where t.name <> ''

    结果是一样的。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值