两字段看上去是一致的,都是“复兴岛”,但关联查询一直无法查出来。
将两字段转为Ascii码,发现不一致。其中一个字段在最后多了一个‘,9’
请问各位高手这个多余的的字段如何去掉。
谢谢!

解决方案 »

  1.   

    去掉这个多余的不可见的字符就像trim这类的
      

  2.   

    --使用substr函数。select substr(字段名,开始位置,要取的长度) from tablename;
       
      

  3.   


    不可见字符,
    只有在ascii码中才能看到区别,只看表面没区别。
      

  4.   

    不知道你是怎么转换成ascii码查看的,ascii码怎么会有逗号..
    也许可以写个过程对字段值进行遍历,去掉不一致的部分,重新赋值
      

  5.   

    参考方法:
    update tab t set t.fld1=replace(t.fld1,‘,9’,'' ) where instr(t.fld1,‘,9’)>0
      

  6.   

    也可以用一下,translate 函数!
      

  7.   


    你的字段是什么类型呀。你可以用length()先看看查出来的长度和你期望的长度是不是一致的。
      

  8.   

    字段是varchar用length查看 长度不一致,一个为4,一个为3
    用函数 dump查看 分别为 typ=1,len=4,184,183,189,108,9
                           typ=1,len=3,184,183,189,108只有在dump函数查看的情况下才能看出两个字段内容的区别,所以直接用“=”去关联的话根本查询不出来我想问的是,如果是空格,可以用trim函数去掉。但这种情况,有什么办法么?
      
      

  9.   

    length(trim(字段)) 看一下长度是不是一样的!