注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

转:为什么oracle的内置函数中没有leftstr,rightstr之类的字符串函数  

2013-05-14 12:59:23|  分类: Oracle |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
使用ORACLE的人应该都用过oracle中的substr函数,函数作用就不说了。
substr函数是一个功能比较强大的函数,有比较多的用法,本文将详细说明。

以下是函数调用原型
substr(string,postion[,substring_length])
string:原字符串,没什么好讲的,就是要检索的原字符串
postion:开始检索的位置,
如果大于0则表示从第一个字符开始向后算
如果小于0则表示从最后一个字符开始向前算,如果向前时小于原字符串的长度则表达式返回空
如果等于0则认为是从第一个字符串开始
如果有小数则把小数舍去

substring_length:检索的字符串长度
如果大于0则表示返回的字符数,如果计算后原字符串的字符数小于substring_length,则返回到最后的字符串
如果小于等于0则返回空
如果有小数则把小数舍去
如果没有这个参数则表示取到最后
以下是substr使用的各种示例
取左边的3个字符
substr('ABCDEFG',1,3)='ABC'
取从第3个字符开始的2个字符
substr('ABCDEFG',3,2)='CD'
取右边的3个字符
substr('ABCDEFG',-3)='EFG'
取从第6个字符开始到最后的字符串
substr('ABCDEFG',6)='FG'
取倒数第5个字符开始的2个字符
substr('ABCDEFG',-5,2)='CD'

如果向前时小于原字符串的长度则表达式返回空
substr('ABCDEFG',-8,7)=''

小数舍去
substr('ABCDEFG',2.6,2.2)='BC'

备注:
substr是按字符来计算,一个字母或汉字都按一个字符计算如:
substr('智能ABC',2,2)='能A'
如果想要按字节来计算则可以采用substrb函数,用法一样
substrb('智能ABC',3,4)='能AB'
当然还有另外几个按不同编码计算的函数
substrc:按Unicode编码,
substr2:按UCS2编码,
substr4:按UCS4编码。
  评论这张
 
阅读(395)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017