Я пытаюсь разобрать сумму в долларах из строки.Oracle REGEXP_SUBSTR Parse Dollar Суммы
Пример строки:
- * SOC 1369.00 - NCS 1239,46 = PT LIAB 129.54
- * СОК 1369.00 - NCS 1239,46 = PT LIAB 140
- * SOC = 1178,00
- * СОК 1622,00 - NCS 209,74 = 1412,26 PT LIAB РЕЦИПИЕНТ AGE
- * ЛИНИЯ # 1 SOC 0.00 - 22.77 NCS = LIAB -22,77
- СОК МЕТ и очистил, SOC 2062-NCS 498,56 = PT 1 ОТВЕТСТВЕННЫ 563,44
- * SOC 1622,00 - NCS 209,74 = PT LIAB 1412 ПОЛУЧАТЕЛЬ AGE 1234
Я хочу, чтобы вытащить ответственность пациента, означающий доллар следующий текст "LIAB", "PT LIAB" или «ОТВЕТСТВЕННЫ «. Сумма в долларах может быть отрицательной и может иметь или не иметь десятичную.
Мое решение:
REPLACE(REPLACE(REGEXP_SUBSTR(REMARKS,'LIAB+[LE]?+ (-?+\d+[.]?)+\d'),'LIAB ',''),'LIABLE ','')
Это кажется немного неуклюжим, и я полагаю, что есть более простое решение. Любые рекомендации будут оценены!
Я использую Toad для Oracle 12.8.
Pt на сумму ответственности не является необходимым окончательное число в строке. Приношу свои извинения за то, что вы не включили пример этого в OP. Я обновлю OP. – boognish
@boognish - я настраивал регулярное выражение –
Приветствия! Ответ принят – boognish