Oracle内置函数——常用字符函数

Oracle内置了一系列函数供用户使用,本文简要介绍一些常用的字符函数。

一、Length(String)

Length函数返回字符串的长度,例如:

二、Substr(String,m,n)和Instr(String1,String2,n)

Substr用于截取字符串的一部分,例如:Substr('ABCDEFG',2,3)返回'BCD',从'ABCDEFG'的第二个字符B开始,截取三个字符,得到'BCD'。

Instr用于查找字符串2在字符串1出现的位置,例如:Instr('ABCDEFG','D',2),从'ABCDEFG'的第2个字符开始数,'D'出现在第3位,因此返回3。如果

Substr和Instr的一个典型应用,截取逗号前的字符串:

三、Concat和

Concat(String1,String2)是各个数据库通用的连接字符串函数,可以将两个字符串连接起来。

而可以连接多个字符串,是属于Oracle专有的函数(操作符)。

四、Replace(String,i,j)

Replace(String,i,j)函数将String中的子字符串i替换为j,例如:

五、Ltrim(String,i)、Rtrim(String,i)、Trim(String,i)

这三个函数分别是从左侧、从右侧和从两侧,在String字符串中删除子字符串i中的每一个字符,直到遇到第一个不属于子字符串i的字符为止。以Ltrim为例:

在示例1和2中,The easy way,从左开始,分别剔除T和Th,遇到第一个不是T或Th的字符则停止。

而在示例3中,The easy way,从左开始,要剔除T、h、e和空格,直到遇到a才停止。

在示例4中,省略了i参数,那么默认只去掉左侧的空格,遇到T则停止。

Rtrim和Trim也是相同的道理。

六、Lpad(String,n,i)、Rpad(String,n,i)

与Ltrim和Rtrim相反,Lpad和Rpad是用i来补全到n位。以Rpad为例:

在示例1中,HAHA用*在右侧补全到10位。

在示例2中,HAHA被截取到前3位。

在示例3中,省略了i参数,默认用空格补全到10位。

七、总结

Oracle的内置字符函数还有很多,这里只介绍了很少的一部分,另外还有Upper、Lower、Initcap、Translate、Chr、to_Char等等,还有正则系列处理函数。

在处理字符串时,可以优先考虑有没有内置函数可以实现想要的功能。如果没有,可以在网上搜索有没有别人写好的可以用。实在没有,自己写吧。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180127G0K1QF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区