Я только что заметил это, и для меня это не имеет смысла:
select to_number( '10000', '999G990' ) from dual;
ORA-01722: invalid number
ОК, это имеет смысл, модель формата содержала G
, разделитель групп, который не соответствовал моей строке ипоэтому ORA-01722 был поднят.
select to_number( '10,000', '999990' ) as x from dual;
X
----------
10000
Но в этом случае моя модель формата не содержит разделитель группы, а моя строка -.Так не следует ли снова поднять ORA-01722?
И, чтобы не иметь никакого смысла,
select to_number( '10,0000', '999990' ) as x from dual;
X
----------
100000
Подождите, что?10,0000 даже не действительный номер.TO_NUMBER просто игнорирует разделители групп, когда они не в модели формата?Я ничего не могу найти об этом в документации.
Редактировать:
Я заметил это в Oracle XE (11gR2) и 12cR2. SQLFiddle пример.