Можете да използвате SUBSTR
и INSTR
:
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 -Изрази--Regexp-Cheat-Sheet_856.htm
- http://www.regular-expressions.info/oracle.html