用Oracle的TRIM函数去除字符串首尾指定字符

去掉首尾空格

SELECT TRIM('   abc '), ltrim('   abc '), rtrim('   abc ') FROM dual;

去掉首尾的其他字符

SELECT /*TRIM(';a;b;c;'),*/ ltrim(';a;b;c;',';'), rtrim(';a;b;c;',';')  FROM dual;

 

注意:无法使用TRIM(‘;a;b;c;’, ‘;’)的格式

但是TRIM()却有它自己的格式

SELECT TRIM(';' FROM ';a;b;c;'),

       TRIM(leading ';' FROM ';a;b;c;'),

       TRIM(trailing ';' FROM ';a;b;c;'),

       TRIM(both ';' FROM ';a;b;c;')

  FROM dual;

 去掉首尾多个字符

对于去除首尾多个字符的时候,需要特别注意的是,Oracle数据库会从字符串中扫描,移除掉去除集合中出现的每一个字符,直到遇到第一个不在去除集合中的字符为止,而不是去去掉去除集合中的字符串。

SELECT LTRIM('thetomsbthhe', 'the'),RTRIM('thetomsbthhe', 'the') FROM dual;

注意:TRIM(leading 'the' FROM 'thetomsbthhe')是不行的,此函数的截取集仅能包含一个字符。

select * from
(
--租用--
select rownum as 编号,gxrxm as 承租人 ,(case trim(gxrxb ) when '1' then '' when '2' then '' else '不详' end ) as 性别,
       rtrim( mobilephone ||','|| LXDH, ',') as 联系方式 , (select (select gxmc from gxxx where t2. gx= gxdm and rownum= 1) from wrxxb t2
       where t1.djh=djh and rownum=1 and rq=(select min( rq) from wrxxb where t1. djh= djh)) 关系 ,rq as 办理日期 ,'租用' as 业务类型
       --,mwje as 墓价,zmj 成交价,(mwje-zmj) as 优惠金额 ,(SELECT mj FROM mwdmxx WHERE djh=T1.djh) as 面积
       from ywdjb t1 where to_char(rq ,'yyyy-mm-dd')>= '2015-07-01' and to_char(rq, 'yyyy-mm-dd')<='2015-07-31'   and zxflag= '0'
union all
--续租--
select rownum as 编号,t2.gxrxm  as 承租人 ,(case trim(t2 .gxrxb ) when '1' then '' when '2' then '' else '不详' end ) as 性别,rtrim( t2.mobilephone|| ','||t2.LXDH,',' ) as 联系方式 ,
       (select (select gxmc from gxxx where t3 .gx =gxdm and rownum=1) from wrxxb t3
       where t1.djh=djh and rownum=1 and rq=(select min( rq) from wrxxb where t1. djh= djh)) 关系 ,t1.rq as 办理日期 ,t1 .ywmc as 业务类型
       from qtywb t1 ,ywdjb t2 where t1 .djh =t2 .djh and to_char(t1. rq, 'yyyy-mm-dd')>='2015-07-01' and
       to_char(t1.rq,'yyyy-mm-dd' )<='2015-07-31'  and t1 .zxflag ='0' and  t1.ywmc= '续租'
union all
--合葬--
select rownum as 编号,t2.gxrxm  as 承租人 ,(case trim(t2 .gxrxb ) when '1' then '' when '2' then '' else '不详' end ) as 性别,rtrim( t2.mobilephone|| ','||t2.LXDH,',' ) as 联系方式 ,
       (select (select gxmc from gxxx where t3 .gx =gxdm and rownum=1) from wrxxb t3
       where t1.djh=djh and rownum=1 and rq=(select min( rq) from wrxxb where t1. djh= djh)) 关系 ,t1.rq  as 办理日期 ,t1 .ywmc as 业务类型
       from qtywb t1 ,ywdjb t2 where t1 .djh =t2 .djh and to_char(t1. rq, 'yyyy-mm-dd')>='2015-07-01' and
       to_char(t1.rq,'yyyy-mm-dd' )<='2015-07-31'  and t1 .zxflag ='0' and  t1.ywmc= '合葬'
union all
--老墓改造--
select rownum as 编号,t2.gxrxm  as 承租人 ,(case trim(t2 .gxrxb ) when '1' then '' when '2' then '' else '不详' end ) as 性别,rtrim( t2.mobilephone|| ','||t2.LXDH,',' ) as 联系方式 ,
       (select (select gxmc from gxxx where t3 .gx =gxdm and rownum=1) from wrxxb t3
       where t1.djh=djh and rownum=1 and rq=(select min( rq) from wrxxb where t1. djh= djh)) 关系 ,t1.rq as 办理日期 ,t1 .ywmc as 业务类型
       from qtywb t1 ,ywdjb t2 where t1 .djh =t2 .djh and to_char(t1 .rq ,'yyyy-mm-dd')>= '2015-07-01' and
       to_char(t1.rq,'yyyy-mm-dd' )<='2015-07-31'  and t1 .zxflag ='0' and t1.ywmc= '老墓改造'
)
order by 办理日期

 

posted @ 2015-08-25 18:30  韩梦芫  阅读(5306)  评论(0编辑  收藏  举报