主页 > 知识库 > MS Server和Oracle中对NULL处理的一些细节差异

MS Server和Oracle中对NULL处理的一些细节差异

热门标签:百度竞价排名 呼叫中心市场需求 地方门户网站 Linux服务器 AI电销 铁路电话系统 服务外包 网站排名优化
INSERT INTO Table (TestCol) VALUES(‘')
其中的TestCol字段,其实在设计的时候,已经被设计为NOT NULL,但我们需要了解一点,在sql server中,null和空格是不同的,也就是说,上面的语句插入的是一个空,但并不是NULL,只有当我们的插入语句中没有该字段的时候,才会被认为违反非空的条件约束,这里可能用英文的表达可能会更加的准确一些,如果把NULL翻译成“空”的话,可能就会很容易搞混了。此外,如果我们的字段是INT类型的话,如果我们插入空的话,会得到一个0,也就是说,MS Sql server会自动帮我们处理对空格的转化。

但是在Oracle中,这个便利便不存在咯,我们必须严格按照规则来进行插入,也就是说,我们再想视图通过插入空来满足NOT NULL的设计约束,已经不能成功啦,我们必须插入实实在在的内容才能符合NOT NULL的约束。

像类似地一些细节在我们设计既要满足MS Sql,又要满足Oracle的系统地时候,尤其会成为我们需要处理的家常便饭,这一方面要求我们要严格规范我们的sql脚本,再者也要对程序处理语句进行严格的条件控制才行,否则类似地问题在联调的时候会让我们陷入一个接着一个的噩梦~
您可能感兴趣的文章:
  • Oracle ORA-22908(NULL表值的参考)异常分析与解决方法
  • oracle使用order by排序null值如何处理
  • SQL Server、Oracle和MySQL判断NULL的方法
  • Oracle数据库中对null值的排序及mull与空字符串的区别

标签:铜川 兰州 崇左 湖南 衡水 仙桃 黄山 湘潭

巨人网络通讯声明:本文标题《MS Server和Oracle中对NULL处理的一些细节差异》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266