Как выбрать подстроку в Oracle SQL до определенного символа?

Скажем, у меня есть столбец таблицы, который имеет такие результаты, как:

ABC_blahblahblah
DEFGH_moreblahblahblah
IJKLMNOP_moremoremoremore

Я хотел бы иметь возможность написать запрос, который выбирает этот столбец из указанной таблицы, но возвращает только подстроку до символа подчеркивания (_). Например:

ABC
DEFGH
IJKLMNOP

Функция SUBSTRING, похоже, не подходит для этой задачи, потому что она основана на позиции и положение подчеркивания меняется.

Я подумал о функции TRIM (в частности, о функции RTRIM):

SELECT RTRIM('listofchars' FROM somecolumn) 
FROM sometable

Но я не уверен, как бы заставить это работать, поскольку это, кажется, удаляет только определенный список / набор символов, а я действительно только после символов, ведущих к символу подчеркивания.

77
задан Jon Heller 29 May 2016 в 16:10
поделиться