• 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

              


    空字符串‘’

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

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

              

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

             




            ’’和NULL有联系有区别,

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

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

              


          



  • 相关阅读:
    Spring Cloud Alibaba | Nacos配置管理
    Spring Cloud Alibaba | Nacos服务注册与发现
    Spring Cloud Alibaba | Nacos服务中心初探
    Spring Cloud Alibaba | 序言
    漫谈网站优化提速
    Kafka 0.8 Producer (0.9以前版本适用)
    Kafka——JAVA_API的使用之Producer(核心原理与示例)
    Kafka单线程Consumer及参数详解
    什么是Kafka?
    Kafka学习(一)-------- Quickstart
  • 原文地址:https://www.cnblogs.com/ctypyb2002/p/9793185.html
Copyright © 2020-2023  润新知