有一列bz_state数据,她的最后一个字符有个x,现在想把x删掉,SQL语句应该怎么写?

解决方案 »

  1.   

    SQL> SELECT substr('123456xx', 1, length('123456xx') - 1) FROM dual;
     
    SUBSTR('123456XX',1,LENGTH('12
    ------------------------------
    123456x
     
    SQL> 
      

  2.   

    select substr(bz_state,1,length(bz_state)-1) from tab;
    or
    select reverse(regexp_replace(reverse(bz_state),'x','',1)) from tab
      

  3.   

    第二种方法还加个参数:
    select reverse(regexp_replace(reverse(bz_state),'x','',1,1)) from tab注意此方法版本要求Oracle10g
      

  4.   

    那如果我想把表里面查出来的bz_state一列中所有带“-”符号的都去掉。
    就是说把-0K8359-,变成0K8359,要对全列进行操作。
    SQL语句该怎么写?
      

  5.   


    select substr(bz_state,1,length(bz_state)-1) from tab ;
      

  6.   

    select regexp_replace(bz_state,'-','') from tab