核桃博客  
网站性能、性能优化、性能测试、性能监控
日历
<2025年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
统计
  • 随笔 - 0
  • 文章 - 11
  • 评论 - 0
  • 引用 - 0

导航

留言簿

随笔分类

文章档案

搜索

  •  

最新评论

 
说明,这里的SQL是在Oracle中作的,同时我对Mysql类似的sql也进行了测试; 对其他数据库进行测试,如果其他数据库对null的处理不一样,请自行测试; 在数据库设计中,应该尽可能将列设计为不能null;如果有特殊情况,应该尽可能的将这列设计一个单独的特殊值来标识 下面先给个实际情况来说明null值的影响: ... 注意:test_null表格里面有3条记录,其中有一条记录status是null; 但是 SQL中无论是选择status = ‘Y’ 还是status != ‘Y’,都不会返回这条记录; 这里可以看到,对应null的行,只有用status is null这样的条件是,才会返回这条记录; *** 所以,如果这个字段可以是null,并且要包含null的情况的话,在oracle中,必须用nvl这样一个函数来,nvl(status,’N’)的意思是如果这个字段是null,就用’N’来代替,如果不是null,就用本来的值; *** 对于 Oracle和mysql来说,null表示不确定的值,所以无论是用=,<,>,!=这些操作符,都不会返回这些记录。 ** 所以,在设计数据库的时候,应该尽可能的将这列加上not null限制,避免应用中出现意外的错误;
文章来源:http://www.hetaoblog.com/db-design-design-not-null-column/
posted on 2010-09-01 21:45 核桃博客 阅读(105) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 
 
Copyright © 核桃博客 Powered by: 博客园 模板提供:沪江博客