前面笔者就提到了要将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