您的位置:首页 > 数据库 > Oracle

Oracle数据库之SQL单行函数---字符函数之TRIM

2013-04-02 16:49 302 查看
           前面笔者就提到了要将TRIM函数做一下总结的,现在就把自己做的练习记录下来

     通过前面知道了TRIM函数的作用可以去除字符串的空格。例如:            select TRIM('s' from 'ssmith') from emp;--删除指定的字符结果为:mith
select trim(' ORALCE ') FROM EMP;--删除左右两边的空格         Tips:需要注意的是删除指定的字符的时候,要删除的只能为一个字符,不能为字符串
                     而且删除的时候会存在递归。

          在深入了解TRIM之前先将LTRIM和RTRIM函数进行一下回顾

              LTRIM:
SELECT LTRIM(' kiritor') from emp;--删除左边的空格
--删除左边的字符或字符串
SELECT LTRIM('kiritor oralce','kiritor') from emp;
             RTRIM:至于其用法参照LTRIM就行了。
         接下来就是TRIM了:其用法不仅仅局限于去除字符串的空格

             首先看看这个函数官方的语法图吧:

                  http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions199.htm
           


              看看其语法描述吧:

              


               leading:开始字符

               trailing:结尾字符

               both:开头和结尾字符,默认

               trim_character:去除的字符

               trim_source:源字符串

               无实战不学习!下面简要的练习一下

               例子1:

select trim(leading 'x' from 'xxyxxz') from dual;--删除前面的
--结果为:yxxz
               例子2:    
select trim( 'x' from 'xxyxxzxx') from dual;--删除两边的
--结果为:yxxz
                   对于traling就不测试了
               例子3:         --不指定删除的字符,默认删除空格
select trim(both from 'xxyxxzxx') from dual;
--只指定源字符则为去掉两端的空格
select trim(' oralce ') from dual;
                   tips:这里需要注意的是from前面必须指定both或者leading、或则trailing
                           不然出错!

              注意识相:

               1、上面需要注意的是trim返回的是一个varchar2类型值,长度最大为trim_source的长度

               2、 如果trim_source或则trim_character为null,trim函数返回null。

               3、  trim_source或则trim_character支持一下任意一种数据类型:char VARCHAR2, NCHAR,

                        NVARCHAR2, CLOB, OR NCLOB。函数trim的返回类型与trim_source一致

                 下面是官方的例子:

                    SELECT employee_id,

                      TO_CHAR(TRIM(LEADING 0 FROM hire_date))

                       FROM employees

                   WHERE department_id = 60;

                    EMPLOYEE_ID TO_CHAR(T

                          ----------- ---------

                         103 3-JAN-90

                         104 21-MAY-91

                         105 25-JUN-97

                         106 5-FEB-98

                         107 7-FEB-99

                    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  trim ltrim rtrim