当前位置:  开发笔记 > 编程语言 > 正文

SQL Server数据库中的NULL与默认值

如何解决《SQLServer数据库中的NULL与默认值》经验,为你挑选了2个好方法。

在将行插入数据库时​​,是否对使用默认值(如空字符串)有任何影响.使用null时必须检查它们在应用程序中使用数据时的问题,而默认值可以更容易处理.



1> HLGEM..:

我不同意使用默认值.null的目的是显示您没有信息.空字符串不代表,它是一个值.此外,如果您开始禁止字符串上的空值,则需要考虑其他数据类型.数字和日期很难有一个值,意思是"我没有这个字段的值." 如果你错误地在varchar字段中存储数字或日期,那么放置一个空字符串而不是null可能会导致查询无法在需要将它们转换为日期或数字等效时对其进行数学处理(不建议将日期和数字数据存储为字符串,只是认识到你可能已经有了一些,这个方案可能会导致它们被查询的问题.)如果除了这些字段之外你不允许所有的空值,你会做很多,在查询这些字段时会出现许多错误,因为您不会习惯于检查空值,而且更有可能忘记这样做.您也可以引发新的查询问题.考虑:

select count(myfield), myfield2 from mytable group by myfield2

如果您在不知道值时使用null或空字符串来存储值,则会产生不同的结果.



2> Andrew Rolli..:

数据库中NULL的含义应保留为'unknown',这与empty不同.因此,只要您使用的默认值反映了基础数据的性质(即它不是'未知'),我实际上会建议使用默认值.

但是,您的里程可能会有所不同 这取决于您的应用程序.如果它以不同的方式处理未知值,那么一定要去:)


我不同意.NULL列表示那里没有数据.没有数据意味着"空".空字符串表示零长度字符串,它不表示"空".您对数字列使用什么特殊值?零?零不是"空",它是零.
@Robert C. Barth:我不知道你在谈论什么,所以这里是一张带有煎饼的兔子的照片.http://www.faithmouse.com/oolong_pancake_bunny.jpg
推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有