Sql для удаления подстроки в строке (оракул 11g)

У меня есть образец строки ниже.

"MHV9DRDUY7 Confirmed.on 31/8/18 at 10:18 AMKsh9,500.00 received from 25470000000 JAMES BOND.New Account balance is Ksh12,050,100"

Я хотел бы удалить подстроку "New Account balance is Ksh12,050,100" из основной строки с помощью SQL.

Обратите внимание, что сумма в подстроке (Ksh12,050,100) не исправлено, поэтому у меня возникла проблема с использованием REGEXP_REPLACE,

1 ответ

Решение

Предполагая, что подстрока для удаления всегда находится в последней части строки, и что подстрока 'New Account balance is Ksh' самое большее один раз встречается в строке, вам не нужны регулярные выражения.

Вы можете найти позицию, где начинается строка для удаления (по INSTR), а затем обрежьте строку до этой позиции (SUBSTR):

select substr(yourString, 1, instr(yourString, 'New Account balance is Ksh') -1)
from ...
Другие вопросы по тегам