trim不行
用replace
SQL> select trim(' aaa bbb ') from dual;TRIM('A
-------
aaa bbbSQL> select replace(' aaa bbb ',' ','') from dual;REPLAC
------
aaabbbSQL>

解决方案 »

  1.   

    trim是去掉左右两边的空格,不会去掉中间的空格的。
    关于你跟新的记录数,可能是因为你字段中的值得长度小于字段长度,所以就更新了。
    去掉中间的空格应该可以用replace函数。
    :)
      

  2.   

    用replace()可以去掉整个字符串里的想换的字符
      

  3.   

    update drug_name_dict set drug_name = replace(drug_name,' ','');
    有多少条记录,就会显示多少条记录被更新。
      

  4.   

    如果drug_name的类型为char的话
    上述只能去掉前面的和中间的空格,后面会多出空格的
      

  5.   

    guangli_zhang(广丽) :  好像还不行啊,还是显示所有的记录都被更新,不可能每个记录里面都有空格啊?
    我是在在线服务器上做的测试,也不敢COMMIT测试一下。
      

  6.   

    update drug_name_dict set drug_name = replace(drug_name,' ','')
    where instr(drug_name,' ')>0;
      

  7.   

    有时候,如果你作了什么设置的话,对于字段的长度是11,而实际值的长度是3,那么剩余的字符用空格填写了,你看看是不是这种情况,我以前用sql server就是这种情况
      

  8.   

    to: sungangsg(sungang) 在使用UPDATE语句时易出现你说的那种问题,但我们这种已经在程序里做了判断,怕有些人开表修改数据时误操作产生了空格