我有一个SQL语句是这样的:select * from rkbasicinfo where gmsfhm='"+gmsfhm+"',其中gmsfhm在oracle数据库中有可能有空格,我想把在字符串后面的空格给去掉,但是在字符串前面或字符串里面的空格是不能去的,请问各位高手这个sql语句该怎么写,谢谢!!

解决方案 »

  1.   

    select * from rkbasicinfo where rtrim(gmsfhm) = '"+gmsfhm+"'
      

  2.   

    REPLACE('string','s1','s2')
    string   希望被替换的字符或变量 
    s1       被替换的字符串
    s2       要替换的字符串
    SQL> select replace('he love you','he','i') from dual;REPLACE('H
    ----------
    i love youYours: select replace(yourstring,' ','') from yourtable;
      

  3.   

    SQL> select replace('you are a boy',' ','') from dual;REPLACE('Y
    ----------
    youareaboy
      

  4.   

    select * from rkbasicinfo where replace(gmsfhm,' ','')='"+gmsfhm+"',
      

  5.   

    可是我只能去掉字符串后面的空格如:“  I love you   ”,我要去了I love you后面的空格,前面和中间的空格是不能去的,请问有什么好的办法?
      

  6.   

    select * from rkbasicinfo where rtrim(gmsfhm) = '"+gmsfhm+"' 
    只去除gmsfhm字段右边,也就是后面的空格,ex:
    select 1 from dual where rtrim(' i love you  ') = ' i love you'
      

  7.   

    那就是rtrim了,如楼上兄台所言
      

  8.   

    LTRIM和RTRIM
    LTRIM  删除左边出现的字符串
    RTRIM  删除右边出现的字符串
    SQL> select ltrim(rtrim('   gao qian jing   ',' '),' ') from dual;LTRIM(RTRIM('
    -------------
    gao qian jing
      

  9.   

    ltrim: left trim
    rtrim: right trim
      

  10.   

    建议lz看看sql reference。那里面有基本函数的使用说明。
    去空格基本上就是以下几个函数:ltrim,rtrim,trim和replace