Heim >Datenbank >MySQL-Tutorial >Oracle trim函数用法详解

Oracle trim函数用法详解

WBOY
WBOYOriginal
2016-06-07 17:17:055576Durchsuche

今天看oracle文档,发现trim函数的用法不仅仅局限于去除字符串的空格!特翻阅官方解释,并最如下实验,希望大家共同学习!

今天看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

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn