• oracle中trim,ltrim,rtrim函数用法


    oracle中trim,ltrim,rtrim函数用法
    该函数共有两种作用:
    第一种,即大家都比较熟悉的去除空格。
    例子:
    --TRIM去除指定字符的前后空格

    SQL> SELECT TRIM(' dd df ') FROM dual;
    TRIM('DDDF')

    ------------
    dd df

    --LTRIM去除指定字符的前面空格

    SQL> SELECT LTRIM(' dd df ') FROM dual;
    LTRIM('DDDF')
    -------------
    dd df


    --RTRIM去除指定字符后面后空格 

    SQL> SELECT RTRIM(' dd df ') FROM dual;
    RTRIM('DDDF')
    -------------
     dd df



    第二种,去除指定的字符。trim只能去除单个字符,而ltrim和rtrim可以去除多个字符。
    trim去除字符的写法:
    --表示字符串string2去除前面|后面|前后面(leading|trailing|both)的字符string1,默认去除方式为both
    SELECT TRIM(leading|trailing|both string1 FROM string2) FROM dual;
    例子:

    SQL> SELECT trim(leading 'd' from 'dfssa') FROM dual; 
    TRIM(LEADING'D'FROM'DFSSA')
    ---------------------------
    fssa

    这里的前面是从前面开始逐一替换,直到下一个不是要替换的为止,即只会替换连续的那种
    SQL> SELECT trim(both '1' from '123sfd111') FROM dual; 
    TRIM(BOTH'1'FROM'123SFD111')
    ----------------------------
    23sfd
    SQL> SELECT trim(trailing '2' from '213dsq12') FROM dual;
    TRIM(TRAILING'2'FROM'213DSQ12'
    ------------------------------
    213dsq1


    这里的从后向前(也可以理解为右开始)开始逐一替换,直到下一个不是要替换的为止,即只会替换连续的那种


    注:trim去除字符只能是单个字符,如下,要去除的字符若为字符集则报错
    SQL> SELECT trim(trailing '12' from '123dsq12') FROM dual;
    SELECT trim(trailing '12' from '123dsq12') FROM dual
    ORA-30001: 截取集仅能有一个字符

    ltrim和rtrim去除字符的写法:
    --表示字符串string1去除前面与string2字符集匹配的,若无匹配则结束返回
    SELECT ltrim(string1,string2) FROM dual;
    --rtrim与ltrim类似,只是去除的是右边算起匹配的字符
    SELECT rtrim(string1,string2) FROM dual;

    要看从左(右)是否有匹配字符集,开始去除,直到无法匹配为止。

    string1 与string2 都可以看成字符集,string1中的去和string2中的匹配,直到string1中的某一个字符在string2中找不到为止


    例子:
    --如下,由于从右边算起,第一个字母是b没有与'main'匹配的字符,因此返回结果仍是'aaaaminb'

    SQL> SELECT rtrim('aaaaminb','main') FROM dual;
    RTRIM('AAAAMINB','MAIN')
    ------------------------
    aaaaminb

    --如下返回结果为空

    SQL> SELECT rtrim('aaaaminb','mainb') FROM dual; 
    RTRIM('AAAAMINB','MAINB')
    -------------------------

    SQL> SELECT ltrim('ccbcminb','cb') FROM dual;
    LTRIM('CCBCMINB','CB')
    ----------------------
    minb



  • 相关阅读:
    团队沟通利器之UML——活动图
    Ninject对Web Api的支持问题
    关于分布式系统的数据一致性问题
    ASP.NET Web开发框架 查询
    用泛型的IEqualityComparer<T> 去除去重复项
    数据库连接监控组件,避免日常开发中因为数据库连接长时间占用或业务完成后忘记关闭连接所带来的数据库问题
    认识项目经理
    状态模式(State Pattern)
    Django框架学习通用视图
    MS CRM 2011 Schedule Service Activities
  • 原文地址:https://www.cnblogs.com/zl520/p/12156355.html
Copyright © 2020-2023  润新知