https://dbfiddle.uk/?rdbms=oracle_18&fiddle=94771b6589b01526ad0cf0194c4d0cf61e55>
Мне нужна помощь в извлечении подстроки числа из имени файла
в настоящее время для формата файла - 'monkey_eats_mango_everyday_202002.txt'
мы делаем так
select regexp_substr('monkey_eats_mango_everyday_202002.txt', '\d+') as parameter12a
from dual;
результат-
202002
который, в свою очередь, используется в более крупном запросе, чтобы получить последнюю дату этой даты, например
select to_char(last_day(to_date(regexp_substr('monkey_eats_mango_everyday_202002.txt', '\d+'), 'yyyymm')), 'yyyymmdd') as parameter
from dual ;
результат-
20200229
Сейчас изменился формат файла, так что имеем - 'donkey_eats_pines_cones_20192301_7771234_everyday_202002.txt'
В этом формате файла есть числа в других местах, например 201943_7771234, которые могут быть датами или любыми случайными числами, поэтому мне нужно регулярное выражение, которое может извлечь 202002 из формата файла.
select regexp_substr('donkey_eats_pines_cones_201943_7771234_everyday_202002.txt', '\d+') as parameter12a
from dual;