日期:2014-05-17  浏览次数:20767 次

小弟初学oracle,问问关于数据库字符串截取的问题。
有一列bz_state数据,她的最后一个字符有个x,现在想把x删掉,SQL语句应该怎么写?

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

------解决方案--------------------
探讨
select substr(bz_state,1,length(bz_state)-1) from tab;
or
select reverse(regexp_replace(reverse(bz_state),'x','',1)) from tab

------解决方案--------------------
SQL code

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

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