This question already has answers here:
How to remove part of the string in oracle

(3个答案)


1年前关闭。




如何从此示例值获取子字符串:
 john.abc_1234

我希望它返回john.abc。所以基本上我们需要删除_之后的所有信息。

更多示例:1234_abc

最佳答案

您可以使用SUBSTRINSTR:

select substr('john.abc_1234', 1, instr('john.abc_1234', '_') -1)
from dual



更新

此外,如果从Oracle 10g开始运行,则可以采用Regex路径,该路径可以更强大地处理异常。

以下是有关如何在Oracle中执行此操作的一些链接:
  • http://psoug.org/reference/regexp.html
  • http://psoug.org/snippet/Regular-Expressions--Regexp-Cheat-Sheet_856.htm
  • http://www.regular-expressions.info/oracle.html
  • 07-28 01:20
    查看更多