Я думаю, что вы можете справиться с этим преобразованием:
DECLARE
p_latitude number;
BEGIN
with t(nr) as
(
select LTRIM(RTRIM(REGEXP_SUBSTR('BT1 1AA|54.60240|-5.92214|875082434', '[^|]+', 1, 2),'"'),'"')
from dual
)
select to_number(replace(nr,'.',','),'fm99G990D00000','NLS_NUMERIC_CHARACTERS = '',.''')
into p_latitude
from t;
END;