• 用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 办理日期

  • 相关阅读:
    Ubuntu之修改用户名和主机名
    HM中CU,TU的划分
    BZOJ 3237([Ahoi2013]连通图-cdq图重构-连通性缩点)
    Introducing Regular Expressions 学习笔记
    kubuntu添加windows字体
    WISE安装程序增加注册控制
    Linux内核中常见内存分配函数(一)
    Linux内核中常见内存分配函数(二)
    Swift现实
    Android 5.0(L) ToolBar(替代ActionBar) 现实(四)
  • 原文地址:https://www.cnblogs.com/siyunianhua/p/4758305.html
Copyright © 2020-2023  润新知