当前位置:数据库 > Oracle >>

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

Oracle数据库之SQL单行函数---字符函数之TRIM
 
TRIM函数的作用可以去除字符串的空格。例如:           
 
[sql] 
select TRIM('s' from 'ssmith') from emp;--删除指定的字符结果为:mith  
select trim('   ORALCE    ') FROM EMP;--删除左右两边的空格  
         Tips:需要注意的是删除指定的字符的时候,要删除的只能为一个字符,不能为字符串
                     而且删除的时候会存在递归。
 
          在深入了解TRIM之前先将LTRIM和RTRIM函数进行一下回顾
 
              LTRIM:
[sql] 
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:
 
[sql] 
select trim(leading 'x' from 'xxyxxz') from dual;--删除前面的  
--结果为:yxxz  
               例子2:    
[sql] 
select trim( 'x' from 'xxyxxzxx') from dual;--删除两边的  
--结果为:yxxz  
                   对于traling就不测试了
               例子3:        
 
[sql] 
--不指定删除的字符,默认删除空格  
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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,