oracle表字段的default值设置是设置成null还是' '好些,各有什么用处

解决方案 »

  1.   

    看需求吧  但一般多见的是 null   在数据库中,null用来表示实际值未知或无意义的情况
    ‘’是有值的,而且是字符型
      

  2.   

    建议NULL,因为不是所有的类型都可以设置为''的。
      

  3.   

    嗯,设置成' '可能考虑到和前台传值的时候null的一些问题吧
      

  4.   


    列的初始化值就是NULL,所以没有insert 值的情况下,该列的值就是NULL。NULL 和 ‘ ’是不一样的,如果没有默认值不指定default 属性就ok了。 在Oracle 11g中,在add column时对列的默认值这块功能有增强,具体参考:
    Oracle 11g中 ADD COLUMN 功能增强 说明
    http://blog.csdn.net/tianlesoftware/article/details/7226893
      

  5.   

    之前的系统数据库建表的时候字段的default值是null的,现在做的项目大部分都default设为' '了,想问问是不是有什么优点
      

  6.   

    如果是null的话,是不占存储空间的。如果是'空格',会分配存储空间。
    感觉是不是怕产生行迁移?
    但是一个字符也不至于啊。
      

  7.   

    还是得看字段的类型declare a varchar2(10):='';b char(10):='';
    begin
    if a is null then
    dbms_output.put_line('A is null');
    else dbms_output.put_line('A is not null');
    end if;
    if b is null then
    dbms_output.put_line('B is null');
    else dbms_output.put_line('B is not null');
    end if;
    end;
    /
    A is null
    B is not null