oracle怎么截取指定字符后面的字符串,或者删除指定字符前面的字符串也行

例如:我要截取D:\AssetsManagement\resource\ehcache\test.txt 这段路径下的文件名test.txt。
求大神答疑

取最后一个\后面的字符
select substr('D:\AssetsManagement\resource\ehcache\test.txt',1+(select instr ('D:\AssetsManagement\resource\ehcache\test.txt','\',1,(select length('D:\AssetsManagement\resource\ehcache\test.txt') - length(replace('D:\AssetsManagement\resource\ehcache\test.txt','\','')) from dual)) from dual)
,length('D:\AssetsManagement\resource\ehcache\test.txt')-(select instr ('D:\AssetsManagement\resource\ehcache\test.txt','\',1,(select length('D:\AssetsManagement\resource\ehcache\test.txt') - length(replace('D:\AssetsManagement\resource\ehcache\test.txt','\','')) from dual)) from dual)
) from dual

如果前面D:\AssetsManagement\resource\ehcache\是固定的就直接replace了
select replace('D:\AssetsManagement\resource\ehcache\test.txt','D:\AssetsManagement\resource\ehcache\','') from dual
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-27
这个可以有。首先你得统计"\"出现的次数,我看到网上有代码,我是手机回答不好截图。意思就是将"\"替换成空。可以搜索:oracle 统计字符在字符串中出现的次数。有了斜杠出现的次数就可以用instrb函数取到最后出现的斜杠位置,再之后就用substr函数取最后斜杠至字符串结尾的字符即可。
第2个回答  2012-11-27
用instr确定指定字符的位置,开始截取的位置就是这个位置+1,再用substr截取剩余字符。以你给的字符串为例:
SQL> select substr('D:\AssetsManagement\resource\ehcache\test.txt',instr('D:\AssetsManagement\resource\ehcache\test.txt','\',-1,1)+1) from dual;

SUBSTR('D:\ASSETSMANAGEMENT\RE
------------------------------
test.txt本回答被网友采纳
第3个回答  2012-11-27
用substr和INSTR配合使用

oracle怎么截取指定字符后面的字符串,或者删除指定字符前面的字符串也...
取最后一个\\后面的字符 select substr('D:\\AssetsManagement\\resource\\ehcache\\test.txt',1+(select instr ('D:\\AssetsManagement\\resource\\ehcache\\test.txt','\\',1,(select length('D:\\AssetsManagement\\resource\\ehcache\\test.txt') - length(replace('D:\\AssetsManagement\\resource\\ehcache\\test.t...

oracle 截取字符串
1 从num1截取2个 可以同时使用三个数,从num1开始截取str字符,截取num2个字符。2 从str截取2个字符 使用三个参数时,第二个参数也能是负数,从str倒数num1的位置的开始截取num2个字符。3 参数较大num最多 从num截取str时,如果num2参数较大,返回的结果是str从num位置开始最多的字符。

oracle中 sql截取某个字符前面和后面的值
1、将新建好的表aaaa,填充需要查询的数据以"_"或者","为分隔符的两条数据。2、先挑ID为1的数据进行截取查询演示。3、如果已知截取字符的长度和特殊字符位置,就可以用substring()函数来从字符串的开始位置,截取到特殊字符出现的位置。4、使用charindex()函数来返回特殊字符出现的位置,查询结果及语句。

oracle中如何截取字符串中,某个字符前的字符串? 例如截取字符串210-1106...
1、以截取字符串“210-1106000001”中“-”前的部分为例。2、执行语句为:select substr('210-1106000001',1,instr('210-1106000001','-')-1) from dual;3、结果为:instr函数语法:instr( string1, string2, start_position,nth_appearance )参数含义:substr函数语法:substr(strings|express,m,[...

Oracle中如何截取字符串的后10位
1、使用Oracle语句 select substr('12345',greatest( -位数,-length('12345')),位数) from dual。输入后程序会自动截取该字符串的指定长度。2、表达式中的“位数”输入格式是数字形式。如截取后10位,则输入数字10,也可以使用这个语句 substr(字符串,截取开始位置,截取长度)。3、这个公式需要注意的是...

oracle 怎么从后开始截取字符
1、在oracle中经常需要使用到截取字符串函数substr。语法:substr(str,num1,[num2]); 默认情况下都是只需要两个参数,它的意思是从第二个字符开始截取str字符串剩下所有的字符。2、substr函数中第二个参数也可以是负数,它的使用是从str倒数第num1个字符的位置开始截取。3、也可以同时使用三个数,...

oracle 如何取指定的字符串
你现在截取的就是后七位。至于是不是只要截取后七位那就不知道了,要看你的实际情况。如果只是后七位,那么就substr(字段名称,length(字段名称)-6)就行。如果有可能出现AreadfeuBAO2S=否aasda,那么也没问题。用instr定位就行。substr(字段名称,instr(字段名称,'=否')-5,7),如果=否不要,那么...

oracle截取字符串前几位的方法
在计算机编程中,”oracle截取字符串前几位”是指使用Oracle数据库系统中的函数或表达式来从一个字符串中提取前面的几个字符。在Oracle中,可以使用SUBSTR函数来截取字符串的前几位。SUBSTR函数的语法如下:SUBSTR(string, start_position, length)

oracle 用SQl语句截取最后一个“\\”后面的内容
select substr('C:\\Documents and Settings\\sytl\\桌面\\各部门反馈\\条线分册-财务部.xls',instr('C:\\Documents and Settings\\sytl\\桌面\\各部门反馈\\条线分册-财务部.xls','\\',-1,1)+1) from dual 这个绝对可以!

Oracle SQL 语句截取标示符后面的字符串
不清楚你想要的结果是什么,如果是第一个逗号后面的字符串,则 SELECT SUBSTR('java,cobol,c',INSTR('java,cobol,c',',')+1) from dual;得cobol,c

相似回答