Используйте postgresql оператор сопоставления регулярных выражений ~
(соответствующий раздел Postgresql 12 документов: здесь ):
select "desc"
, case
when "desc" like '%TMP' OR "desc" ~ '^DOC[^/]*/FILE1/'
then 'F1'
else 'Not found'
end as t1
from (
select 'DOCument123/FILE1/' "desc"
union all
select 'DOCument123/FILE1/' "desc"
union all
select 'DOCument123/FILE1/' "desc"
union all
select 'TDZVDLS' "desc"
union all
select 'TDZVDLSTMP' "desc"
) x;
Включает 2 синтаксические корректировки:
desc
является зарезервированным sql идентификатором и нуждается в переносе в двойные кавычки для использования в качестве псевдонима столбца. - Алис
t1
является именем столбца и записывается без заключающие одинарные кавычки.