substring截取字符串,oracle怎么用substr截取汉字
(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输出结果:
快三邀请码稳赚计划在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输出结果: