Мне нужно конвертировать в процедуре от string
до decimal
с фиксированным десятичным разделителем .
независимо от настроек культуры.Далее, я знаю, что десятичное число ограничено 6 знаками после .
, и количество цифр до .
не ограничено.Используя документацию Oracle и ее примеры для строк форматирования, у меня теперь есть только это решение:
v_number := TO_NUMBER(v_string, '9999999999999999999999999999999999D999999', 'NLS_NUMERIC_CHARACTERS = ''. ''');
Количество символов 9
до D
максимально допустимое числоЯ считаю эту строку формата довольно ужасной.Есть ли лучшая строка формата для этого общего преобразования или какой-либо способ пропустить второй параметр функции?В общем, мне просто нужно перейти к параметру функции NLS, чтобы сказать, что я просто хочу преобразовать с десятичным разделителем .
, но второй параметр также обязателен в этом случае.