Het gebruik van een combinatie van SUBSTR, INSTR en NVL (voor strings zonder een onderstrepingsteken) geeft terug wat je wilt:
SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output
FROM DUAL
Resultaat:
output
------
ABC
Gebruik:
SELECT NVL(SUBSTR(t.column, 0, INSTR(t.column, '_')-1), t.column) AS output
FROM YOUR_TABLE t
Referentie:
- SUBSTR
- INSTR
Aanvulling
Als u Oracle10g+ gebruikt, kunt u regex gebruiken via REGEXP_SUBSTR.