Я бы использовал REGEXP_REPLACE
здесь:
SELECT
filename,
REGEXP_REPLACE(filename, '^([^_]+_[^_]+)_.*(\..*)$', '\1\2') AS filenameshort
FROM yourTable;
Стратегия здесь состоит в том, чтобы сопоставить и захватить первые две части имени файла, встречающиеся между разделителями _
в одной группе захвата, наряду с расширение во второй группе захвата. Затем мы заменяем только эту первую и вторую группу захвата.