Използването на комбинация от SUBSTR, INSTR и NVL (за низове без долно черта) ще върне това, което искате:
SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output
FROM DUAL
Резултат:
output
------
ABC
Използвайте:
SELECT NVL(SUBSTR(t.column, 0, INSTR(t.column, '_')-1), t.column) AS output
FROM YOUR_TABLE t
Справка:
- SUBSTR
- INSTR
Допълнение
Ако използвате Oracle10g+, можете да използвате регулярни изрази чрез REGEXP_SUBSTR.