Oracle9i中如何使类型为varchar2(50)的default value 为''(即空字符串)而不是null呢?我现在实现了ALTER TABLE TABLETEST  MODIFY ( column1 default 0 );
可是在实现ALTER TABLE TABLETEST  MODIFY ( test4 default '' );用
select * from tabletest where test4='';查不到记录是什么原因?
select * from tabletest where test4 is null;就可以查到呢。为什么??还有,对于日期型的我在设默认日期型的时候又如何 写呢?在线等....

解决方案 »

  1.   

    在Oracle中,   '' 和 NULL是一回事。即''就是NULL
    所以select * from tabletest where test4='';查不到
    而select * from tabletest where test4 is NULL;可以查到其它德数据库,比如 MySQL
    '' 和 NULL是不一样德
      

  2.   

    那sybase的anywhere库呢? 日期型 的问题还没有解决呢?请大侠再次指点!多谢!
      

  3.   

    sybase和anywhere俺不知道,俺可不是啥数据库都知道的呢。。create table aa
    (mydate date default '16-JUN-04')
    /
      

  4.   

    啊。我用的可是D版的oracle9i啊。不敢问!嘿嘿 大侠能加我的MSN吗?在线交流方便一些。