Мне нужно отобразить разные результаты в следующем формате, например:
40000000 до 40'000,000
Я пытался использовать это, но когда я пробую 2 разных группы разделителей, я получаю "недопустимая модель формата чисел "ошибка:
select to_char(9999999999, '9g999g99999g9', 'NLS_NUMERIC_CHARACTERS='',.''')
from dual;
Также попытался использовать substr и replace, но это не работает во всех случаях (например, когда результат 3000000 или 700000000). Это работает, но это не оптимальное решение.:
SELECT substr(replace('40,000,000',',',''''),0,length(40000000)-2)|| substr('40,000,000',-4) from dual;
Как выглядит фактический выбор, если я использую предыдущий код.
SELECT substr(replace(to_char(oTOTAL_SENIOR, '999,999,999'),',',''''),0,length(oTOTAL_SENIOR)-2)|| substr(to_char(oTOTAL_SENIOR, '999,999,999'),-4) from dual
Предыдущий выбор становится ошибочным, когда я используюsubstr replace и to_char вместе из-за '999,999,999'.
Я также пытался использовать regexp_replace, но я не очень хорош в этом. Я знаю, что мне нужно заменить все, кроме последних 4 символов (, 000), но я не знаю, как.
Любая помощь будет оценена.