(1):
需求:
oracle 查询出来的结果某列的结果为:
pathname
/device_viewtoo_device_1/data3/series/37/d0511010010010043.jpg
这样的格式,现在就想只要 d0511010010010043.jpg 这个
select t.pathname from vod_ams_delivery_his t
1 /device_viewtoo_device_1/data3/series/37/d0511010010010043.jpg
2 /device_viewtoo_device_1/data3/series/37/d0511010010010044.jpg
(2):
解决办法:
有很多行,而且最后 一个/ 后面的内容的长度都不一样的,现在想办法就是截取最后一个/ 后面的内容,
select substr(t.pathname,instr(t.pathname,'/',-1,1)+1) from vod_ams_delivery_his t
1 d0511010010010043.jpg
2 d0511010010010044.jpg
结果实现。
select substr(col,instr(col,'需要截取的分隔符',-1,1)+1) from table_name
说明: -1 说明是从结果集合的后面算起,
1 是遇到的第一个分隔符
+1 是说导出来的结果从第一个分隔符后面的第一个算起
select substr(col,2,instr(col,'/',1,2)-2) from table_name
/device_viewtoo_device_1
/device_viewtoo_device_1
这样说明是截取 第一个 / 到 第二个 /之间的内容