Похоже, вам нужно сделать поиск нечувствительным к регистру. Для этого вы можете добавить префикс с параметром i
(без учета чувствительности):
substring(description from '(?i).{0,5}base.{0,5}') as minidesc
Демонстрация на DB Fiddle :
with export_final as (
select
'1 PACKAGE(S) OF (FLEXITANK) BASE OIL PALE 2000 (HARMONIZED CODE: 270799)' description,
'LU016' product_code
)
select description, substring(description from '(?i).{0,5}base.{0,5}') as minidesc
from export_final
where product_code in ('LU016', 'LU017', 'LU018', 'LU019', 'LU020')
description | minidesc
:----------------------------------------------------------------------- | :-------------
1 PACKAGE(S) OF (FLEXITANK) BASE OIL PALE 2000 (HARMONIZED CODE: 270799) | ANK) BASE OIL
Возможно, вы также захотите рассмотреть следующее регулярное выражение, которое дает вам слово после и до 'base'
- слово, определяемое как символы алфавита c плюс знак подчеркивания (_
):
(?i)\w+\W+base\W+\w+
Для ваших данных выборки это дает:
FLEXITANK) BASE OIL