数据库中有表a , a中有字段a1,a2,a3
现在a2中很多数据头尾含有空格,想去掉,用如下几种方式都去不掉,哪位大哥给解决解决
1.
update a set a1=trim(a1);
或者update a set a1=replace(a1,' ','');2.
update a set a2=trim(a1);
update a set a1=a2;3.
create table b as select trim(a1) from a
update a set a1=(select a1 from b)哪位大哥帮帮忙,我记得以前是可以的啊
是不是数据库的哪里的参数设置有问题,数据库是817

解决方案 »

  1.   

    直接 update a set a2=trim(a2)不行么 还有看看a2中的“空格”到底是什么字符?
      

  2.   

    楼上的的大哥,要是行的话我还问吗?
    我在TOAD里做的
    比如有两行数据
    做了update后,执行如下语句
    select a1,count(*) from a group by a1
    结果:
    通信信号  20
    通信信号  1 不给我合到一块,当然就没更新了
      

  3.   

    update a set a1=replace(a1,' ','');这个肯定可以的
    你如果不行,换个环境试试
      

  4.   

    谢谢各位老大
    我找到原因了
    有那个“空格”不是一般的空格它的ASC码是41377
    空格是32
    哪位大哥知道41377这个ASC码的字符是干什么用的
      

  5.   

    41377? 是全角空格吧,这样试试吧:rtrim(ltrim(a1,'  '),'  ')'  '里是一个全角和一个半角空格,可以同时去掉头或尾的全角和半角空格,例如要去掉子串前面的a和bSQL> select ltrim('aaababbccdd','ab') from dual;LTRIM('AAABABBCCDD','AB')
    -------------------------
    ccdd
      

  6.   

    呵呵 不要先怀疑ORACLE 先怀疑你的数据