san*_*ndy 5 sql oracle plsql substr oracle9i
如何从此示例值中获取子字符串:
john.abc_1234
Run Code Online (Sandbox Code Playgroud)
我希望它返回john.abc.所以基本上我们需要删除之后的所有信息_.
更多例子:1234_abc
Adr*_*iro 19
你可以使用SUBSTR和INSTR:
select substr('john.abc_1234', 1, instr('john.abc_1234', '_') -1)
from dual
Run Code Online (Sandbox Code Playgroud)
警告:只有当您的字符串中实际包含下划线时,才能保证此功能
更新
此外,如果您从Oracle 10g开始运行,则可以使用Regex路径,这将更有效地处理异常.
以下是有关如何在Oracle中执行此操作的一些链接: