UPDATE T_APP_TRD SET VASTREDEEMFLAG = '';
COMMIT;
SELECT VASTREDEEMFLAG FROM T_APP_TRD WHERE VASTREDEEMFLAG = '';下面这个查询没有任何结果,T_APP_TRD表里面存在记录,请问高手如何解决?该问题产生的原因是什么?

解决方案 »

  1.   

    NVL(null,'1')与NVL('','1')是一样的么?
      

  2.   

    SELECT VASTREDEEMFLAG FROM T_APP_TRD WHERE VASTREDEEMFLAG is NULL;
    试试 
      

  3.   

    UPDATE T_APP_TRD SET VASTREDEEMFLAG = ' '; 
    COMMIT; 
    SELECT VASTREDEEMFLAG FROM T_APP_TRD WHERE VASTREDEEMFLAG = ' '; 
      

  4.   

    表里面有记录,经过测试发行,这个字段的ASCII码为0,可是用IS NULL确查询不出来
    select length(VASTREDEEMFLAG),ascii(VASTREDEEMFLAG),VASTREDEEMFLAG from T_APP_TRD
    1 1 0
      

  5.   

    已经解决,通过判断 ASCII码的值在做条件。给分
      

  6.   


    是一样的,而且你的where条件改为where xx is null是可以查出来的。
      

  7.   

    UPDATE T_APP_TRD SET VASTREDEEMFLAG = ''; 
    COMMIT; 
    SELECT VASTREDEEMFLAG FROM T_APP_TRD WHERE VASTREDEEMFLAG is null;