Почему этот запрос в SQL Developer вызывает эту ошибку? - PullRequest
0 голосов
/ 19 марта 2019

Почему я получаю сообщение об ошибке при попытке выполнить этот запрос в SQL Developer:

DECLARE
    p_latitude number;
BEGIN
    p_latitude:=TO_NUMBER(LTRIM(RTRIM(REGEXP_SUBSTR('BT1 1AA|54.60240|-5.92214|875082434', '[^|]+', 1, 2),'"'),'"'));
END;

Ошибка:

ORA-06502: PL / SQL: числовойили ошибка значения: ошибка преобразования символа в число
ORA-06512: в строке 4

Может ли кто-нибудь помочь мне решить эту ошибку?

Ожидаемый результат:

54,60240

1 Ответ

1 голос
/ 19 марта 2019

Я думаю, что вы можете справиться с этим преобразованием:

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...