- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
create or replace function TO_NUMBER_EX (sNumber in varchar2) return number is
---------------------------------------------------------------------
-- Преобразование строки в число с разными символами разделителями
---------------------------------------------------------------------
iRet number(12,3) :=0;
cReplSgn char(1);
cToReplSgn char(1);
begin
begin
iRet := to_number(sNumber);
exception
when OTHERS then
iRet := null;
end;
if iRet is null then
begin
if instr(sNumber,'.') > 0 then
cReplSgn := '.';
cToReplSgn := ',';
else
cReplSgn := ',';
cToReplSgn := '.';
end if;
iRet := to_number(replace(sNumber,cReplSgn,cToReplSgn));
exception
when OTHERS then
iRet := null;
end;
end if;
return(nvl(iRet,0));
end TO_NUMBER_EX;
Комментарии (0) RSS
Добавить комментарий