Oracle的 NULL 与 空字符串”详解数据库

刚开始在Oralce 数据库里写SQL时,null 和 空字符串” 经常搞混淆,现在简单描述下这两种类型的区别与联系。

NULL

          数据库的一种特殊数据类型,代表是未知的、不确定的,有无数种可能性。

          NULL  只能通过 is null,is not null 判断。

          NULL 与+、-、*、/ 运算事结果都是NULL,与字符串拼接时||,可以说视为”。

          所以,列之间运算时需要使用nvl() 函数,这样才能保证结果的正确性。   

          

          select ‘X’         as c1,
                      null       as c2,
                      null + 1 as c3,
                      null -1   as c4,
                      null *1   as c5,
                      null /1    as c6,

                      null||’a’  as c7

           from dual

          Oracle的 NULL 与 空字符串''详解数据库

空字符串‘’

          数据库的 字符类型(varchar2 ),Oracle数据库是不存储这种值的。

          空字符串” 是NULL 字符类型的表现形式。

          

          select *
            from dual
         where 1=1
             and ” is null ;

         Oracle的 NULL 与 空字符串''详解数据库

        ’’和NULL有联系有区别,

        对于NULL来说,表示了各种数据类型的NULL值。

        对于空字符串’’来说,表现出了字符类型的特点,是NULL 字符类型的表现形式。

          

      

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3910.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论