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を介して正規表現を使用できます。