今天看oracle文档,发现trim函数的用法不仅仅局限于去除字符串的空格!特翻阅官方解释,并最如下实验,希望大家共同学习!
1. 首先看一下trim函数的语法图:
语法描述如下:
trim([ { { leading | trailing | both }
[ trim_character ]
| trim_character
}
from
]
trim_source
)参数解释:
leading 开头字符
trailing 结尾字符
both 开头和结尾字符
trim_character 去除的字符
trim_source 修剪源
2. 下面进行功能介绍:
trim函数用来去除一个字符串的开头或结尾(或两者)的字符。
1)如果指定leading参数,oracle数据库将去除任何等于trim_character的开头字符。
例:
sql> select trim(leading 'x' from 'xdylan') test_trim from dual;
test_trim
--------------------
dylan
2)如果指定traling参数,oracle将去除任何等于trim_character的结尾字符。
例:
sql> select trim(trailing 'x' from 'dylanx') test_trim from dual;
test_trim
--------------------
dylan
3)如果指定了both参数或者三个参数都未指定,oracle将去除任何等于trim_character的开头和结尾字符。
例:
sql> select trim(both 'x' from 'xdylanx') test_trim from dual;
test_trim
--------------------
dylan
sql> select trim('x' from 'xdylanx') test_trim from dual;
test_trim
--------------------
dylan
4)如果没有指定trim_character参数,默认去除的值为空格。
例:
sql> select trim(both from ' dylan ') test_trim from dual;
test_trim
--------------------
dylan
5)如果只指定修剪源(trim_source),oracle将去除trim_source的开头和结尾的空格。
例:
sql> select trim(' dylan ') test_trim from dual;
test_trim
--------------------
dylan
6)trim函数返回一个varchar2类型值。该值最大的长度等于trim_source的长度。
7)如果trim_source和trim_character有一个为null,,则trim函数返回null。
例:
sql> select trim(trailing null from 'dylan ') test_trim from dual;
test_trim
--------------------
sql> select trim(trailing 'x' from null) test_trim from dual;
test_trim
--------------------
注意:trim_character和trim_source都可以为以下任意一种数据类型:char, varchar2, nchar, nvarchar2, clob, or nclob。
返回值的类型与trim_source的数据类型一致。下面是官方的例子:检索employees表中雇用日期不以0开头的记录。
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
