Oracle EBS - SQL&PL/SQL: 取字符串中某个指定字符最后出现的位置到字符串结尾的子串
2013-03-18 21:39
507 查看
--取字符串中某个指定字符最后出现的位置到字符串结尾的子串,
--如字符串'11001-0000-001',需要去001子串
方法一
SELECT SUBSTR('11001-0000-001',
(INSTR('11001-0000-001', '-', -1, 1) + 1),
LENGTH('11001-0000-001'))
FROM dual;
其中,INSTR从最后开始找第一个'-'出现的位置
SELECT INSTR('11001-0000-001', '-', -1, 1) FROM dual;
方法二
SELECT SUBSTR('11001-0000-001',
(LENGTH('11001-0000-001') - INSTR(REVERSE('11001-0000-001'), '-', 1, 1) + 2),
LENGTH('11001-0000-001'))
FROM dual;
其中,反序字符串中'-'最后出现的位置
SELECT INSTR(REVERSE('11001-0000-001'), '-', 1, 1) FROM dual;
--如字符串'11001-0000-001',需要去001子串
方法一
SELECT SUBSTR('11001-0000-001',
(INSTR('11001-0000-001', '-', -1, 1) + 1),
LENGTH('11001-0000-001'))
FROM dual;
其中,INSTR从最后开始找第一个'-'出现的位置
SELECT INSTR('11001-0000-001', '-', -1, 1) FROM dual;
方法二
SELECT SUBSTR('11001-0000-001',
(LENGTH('11001-0000-001') - INSTR(REVERSE('11001-0000-001'), '-', 1, 1) + 2),
LENGTH('11001-0000-001'))
FROM dual;
其中,反序字符串中'-'最后出现的位置
SELECT INSTR(REVERSE('11001-0000-001'), '-', 1, 1) FROM dual;
相关文章推荐
- SQL之得到一个字符串中某一个字符第n次出现的位置的函数
- 获取字符串中指定字符最后一次出现的位置
- sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗?
- c语言:返回指定字符在指定字符串中第n次出现的位置(从0开始计算)
- 用数组公式获取字符在字符串中最后出现的位置
- 获取字符串中某个指定的子串出现的开始位置(CHARINDEX用法)
- mysql字符串如何得到指定字符最后的位置,学习SUBSTRING_INDEX的用法
- sql 语句 写一个函数T-sql函数elimination(a,b)将出现在第一个字符串中的第二个字符串中的所有字符删除,即:select dbo.elimination('abcdefg123
- 查找字符串中指定的子串的首次出现的位置
- 在一个字符串中删除指定的字符 & 删除字符串中所有出现在另一个字符数组中的字符
- Shell脚本实现查找字符串中某字符最后出现的位置
- 查找指定字符串在字符串中第一次或最后一词出现的位置
- MS_SQL_获取字符串最后出现的字符串及位置
- java判断字符串中某字符出现的位置,并替换指定指定内容
- 获取字符串中最后出现的一个字符的位置
- JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
- 【C语言】自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置
- JavaSE8基础 String indexOf 正向 从指定索引值开始查找 字符在字符串中第一次出现的位置
- Excel获取字符串中指定字符的最后(靠右)位置
- JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)