Я думаю, что это будет делать то, что вы хотите:
select (case when time like '%m%s'
then cast(regexp_extract(time, '^[0-9]+') as decimal(10, 2)) * 60 +
cast(replace(regexp_extract(time, '[0-9]+s$'), 's', '') as decimal(10, 2), 1)
when time like '%s'
cast(replace(regexp_extract(time, '[0-9]+s$'), 's', '') as decimal(10, 2), 1)
else cast(regexp_extract(time, '[0-9]+s$') as decimal(10, 2))
end) as seconds