首页天道酬勤substring截取字符串,oracle怎么用substr截取汉字

substring截取字符串,oracle怎么用substr截取汉字

张世龙 05-05 23:26 112次浏览

(1)oracle中实现截取字符串:substr

(substr(string,start_position,[length] ) ) ) ) ) ) ) ) )

其中string是元字符串,start_position是起始位置,length是表示子字符串位数的选项。

示例:

substr(abcdefg ),0 ); -返回值为ABCDEFG,从0位剪切后面的所有内容

substr(abcdefg ),2 ); -结果是BCDEFG,从两位开始切掉后面的一切

substr(abcdefg )、0、3 ); -返回值为ABC,从0位开始向后切出3个字符的长度

substr(abcdefg ),0,100 ); -返回值为ABCDEFG。 100超过了元字符串的长度,但不影响返回值。 以元字符串的最大数量返回

substr(abcdefg )、-3); -返回值为EFG,负数时,从末尾向前计数,从-3的位置剪切后面的所有字符串

(2)查找字符串位置:instr

instr(string、subString、[start_position、[nth_appearance]] )

其中string是元字符串。 subString是要搜索的子字符串; start_position是搜索的开始位置,是可选的。 默认值为1。 请注意,字符串索引从1开始,如果此参数为正,则从左向右搜索;如果为负,则从右向左搜索。 nth_appearance是元字符串中第几次出现的子字符串。 此参数是可选的,默认值为1。 负数时报告错误。

示例:

instr(ABcdabcdaef )、(ab ); 返回-1。 instr字符串索引从1开始,因此1不是0

instr(abcDAbcdAEF )、(da )、1、2 ); -返回结果: 8、返回第二次出现' DA '的位置

instr(abcDAbcdaef,) da,1,2 ); -返回值为9。 因为在元字符串中添加了空格,所以空格仍然是一个字符

(3)替换字符串:replace

替换(str 1、str2、str3) )。

这意味着在str1中查找str2,str2出现的地方都用str3替换。

替换(abcdefg、) CDE、) CDE ); -返回值为ABcdeFG

替换(abcdefg )、(CDE )、) ); -返回值中,ABFG、CDE被替换为空字符

替换(abcdefg )、(CDE ); -如果返回的结果是ABFG,第三个参数不存在,则直接删除CDE

使用实例:

按条件剪切一个表中的一列并存储在另一列中。 如下图所示,将TAG_NAME的内容剪切到最后一个“.”,并将当前内容保存在CHANNEL_NAME列中。

sql语句:

span style='font-size:18px;' updatesmartsys.FeS _ ana _ defineanadefinesetanadefine.channel _ name=substr (ana define.tag _ name,0,instr )/span span style=' font-size :18 px;' commit; /span

执行结果:

测试流程:

span style='font-size:18px;' select substr (anadefine.tag_name,0,instr ) ana define.tag _ name,'.',-1)/spanspanstyle='font-() /span输出结果:

卷积神经网络池化层,最大二均值池化