OracleTRIM、LTRIM、RTRIM函数功能与缺陷详解_第1页
OracleTRIM、LTRIM、RTRIM函数功能与缺陷详解_第2页
OracleTRIM、LTRIM、RTRIM函数功能与缺陷详解_第3页
OracleTRIM、LTRIM、RTRIM函数功能与缺陷详解_第4页
OracleTRIM、LTRIM、RTRIM函数功能与缺陷详解_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LTRIM(左截断) RTRIM(右截断) 函数LTRIM (string ,Alpha)Left TRIM (左截断)删去左边出现的任何Alpha字符。RTRIM (string ,Alpha)Right TRIM (右截断)删去右边出现的任何Alpha字符。例1:select LTRIM('ABCDDCBA','D') "ex." from dual;   -BCDCBA图1select RTRIM('ABCDCBA','A') "Sample" from

2、dual;  -ABCDCB 图2select TRIM('D' from 'ABCDDCBA') "Sample" from dual;    图3顾名思义,TRIM即表示全部截断,不分左右(可以在参数里选择):TRIM可以使你对给定的字符串进行裁剪(前面,后面或前后)。如果指定 LEADING, Oracle 从trim_char 中裁剪掉前面的字符;如果指定TRAILING, Oracle 从trim_char 中裁剪掉尾面的字符;如果指定BOTH,Oracle 从trim_char中裁剪掉所有指

3、定字符(注意,此处有限制,只能是单个字符,而且无法取出位于字符串正中间的字符,这个在后面说明)如果指定两个都指定或一个都没有给出,Oracle从trim_char 中裁剪掉前面及尾面的字符;如果不指定 trim_character, 缺省为空格符;如果只指定trim_source, Oracle Oracle从trim_char 中裁剪掉前面及尾面的字符。例:select TRIM('D' from 'ABCDDCBA') "Sample" from dual;    -BCDDCB图4于是乎我就在想它如果遇到字符串长度单

4、双会怎么裁剪呢?然后就发现bug了!如下:select TRIM('D' from 'ABCDCBA') "Sample" from dual;  - 字符串长度为单数时无法删除正中间的字符  ABCDCBAselect LTRIM('ABCDCBA','D') "Sample" from dual;  -ABCDCBAselect RTRIM('ABCDCBA','D') "Sample" from dual

5、;  -ABCDCBAselect TRIM('D' from 'ABCDDCBA') "Sample" from dual;    - 字符串长度为单数时无法删除正中间的字符  ABCDDCBAselect LTRIM('ABCDDCBA','D') "Sample" from dual; -ABCDDCBAselect RTRIM('ABCDDCBA','D') "Sample" from dua

6、l; -ABCDDCBA暴漏出的缺陷是:1、这三个TRIM函数都无法对位于字符串正中间的字符进行处理;                            2、TRIM函数仅支持去除单个字符,而LTRIM、RTRIM则可支持多个字符。图5以上为个人原创,如需详细了解可以参考如下文档:oracle中trim,ltrim,rtrim函数用法oracle中trim,ltrim,rtrim函数用法该函数共有两种作用:第一种,即大家都比较熟悉的去除空格。例子:-T

7、RIM去除指定字符的前后空格SQL> SELECT TRIM(' dd df ') FROM dual;TRIM('DDDF')-dd df-LTRIM去除指定字符的前面空格SQL> SELECT LTRIM(' dd df ') FROM dual;LTRIM('DDDF')-dd df-RTRIM去除指定字符后面后空格 SQL> SELECT RTRIM(' dd df ') FROM dual;RTRIM('DDDF')- dd df第二种,去除指定的字符

8、。trim只能去除单个字符,而ltrim和rtrim可以去除多个字符。trim去除字符的写法:-表示字符串string2去除前面|后面|前后面(leading|trailing|both)的字符string1,默认去除方式为bothSELECT TRIM(leading|trailing|both string1 FROM string2) FROM dual;例子:SQL> SELECT trim(leading 'd' from 'dfssa') FROM dual; TRIM(LEADING'D'FROM'DFSSA

9、')-fssaSQL> SELECT trim(both '1' from '123sfd111') FROM dual; TRIM(BOTH'1'FROM'123SFD111')-23sfdSQL> SELECT trim(trailing '2' from '213dsq12') FROM dual;TRIM(TRAILING'2'FROM'213DSQ12'-213dsq1注:trim去除字符只能是单个字符,如下,要去除的字符若为字

10、符集则报错SQL> SELECT trim(trailing '12' from '123dsq12') FROM dual;SELECT trim(trailing '12' from '123dsq12') FROM dualORA-30001: 截取集仅能有一个字符ltrim和rtrim去除字符的写法:-表示字符串string1去除前面与string2字符集匹配的,若无匹配则结束返回SELECT ltrim(string1,string2) FROM dual;-rtrim与ltrim类似,只是去除的是右边算起匹配的字

11、符SELECT rtrim(string1,string2) FROM dual;例子:-如下,由于从右边算起,第一个字母是b没有与'main'匹配的字符,因此返回结果仍是'aaaaminb'SQL> SELECT rtrim('aaaaminb','main') FROM dual;RTRIM('AAAAMINB','MAIN')-aaaaminb-如下返回结果为空SQL> SELECT rtrim('aaaaminb','mainb') FROM du

12、al; RTRIM('AAAAMINB','MAINB')-SQL> SELECT ltrim('ccbcminb','cb') FROM dual;LTRIM('CCBCMINB','CB')-minb这三个函数都有一个限制,就是无法截取字符串正中间的字符(无论字符串长度是单还是双)RTRIM (Transact-SQL)截断所有尾随空格后返回一个字符串。适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Databas

13、e(初始版本至当前版本)。 Transact-SQL 语法约定语法RTRIM ( character_expression )参数character_expression一个字符数据表达式。 character_expression 可以是常量、变量,也可以是字符或二进制数据列。character_expression 的数据类型必须可隐式转换为 varchar。 否则,请使用 CAST 显式转换 character_expression。返回类型varchar 或者nvarchar示例A.简单

14、示例以下示例将接受一个在句子结尾包含空格的字符串,并返回在句子结尾没有空格的文本。SELECT RTRIM('Removes trailing spaces. ');下面是结果集:-Removes trailing spaces.B.将 RTRIM 用于变量以下示例显示如何使用 RTRIM 删除字符变量中的尾随空格。DECLARE string_to_trim varchar(60);SET string_to_trim = 'Four spaces are after the period in this sentence. 'SELECT

15、 string_to_trim + ' Next string.'SELECT RTRIM(string_to_trim) + ' Next string.'GO下面是结果集:-Four spaces are after the period in this sentence.     Next string.(1 row(s) affected)-Four spaces are after the period in this sentence. Next string.(1 row(s) affec

16、ted)请参阅参考CAST 和 CONVERT (Transact-SQL)数据类型 (Transact-SQL)字符串函数 (Transact-SQL)LTrim、RTrim与 Trim 函数 返回 Variant (String),其中包含指定字符串的拷贝,没有前导空白 (LTrim)、尾随空白 (RTrim) 或前导和尾随空白 (Trim)。语法LTrim(string)RTrim(string)Trim(string)必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。 LTrim、RTrim 和 Trim 函数的区别 返回不带

17、前导空格 (LTrim)、后续空格 (RTrim) 或前导与后续空格 (Trim) 的字符串副本。 LTrim(string) RTrim(string) Trim(string) string 参数是任意有效的字符串表达式。如果 string 参数中包含 Null,则返回 Null。 说明 下面的示例利用 LTrim, RTrim, 和 Trim 函数分别用来除去字符串开始的空格、尾部空格、 开始和尾部空格: Dim MyVar MyVar = LTrim(" vbscript ") 'MyVar 包含 "vbscript "。 MyVar =

18、 RTrim(" vbscript ") 'MyVar 包含 " vbscript其他:trim一般都是用在删除字符串两边的空格。实际上,trim也可以用来删除字符串两边的指定字符。并且trim指定删除的字符串只能是单个字符。如 trim('字符1' from '字符串2') ,字符1只能是单个字符。1. trim()删除字符串两边的空格。2. ltrim()删除字符串左边的空格。3. rtrim()删除字符串右边的空格。4. trim('字符1' from '字符串2')  分别从字符2串的两边开始,删除指定的字符1。5. trim(leading | trailing | both trim_char from string)从字符串String中删除指定的字符trim_char。  leading:从字符串的头开始删除。  trailing:从字符串的尾部开始删除。 &#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论