Запрос oracle sql для форматирования чисел запятой
Ребята, я хочу напечатать следующие данные с значениями, разделенными запятыми, с помощью oracle sql
696585242087
to
69,658,524,2087
и то же для десятичной.
Ответ 1
SELECT TO_CHAR(696585242087, '99G999G999G9999', 'NLS_NUMERIC_CHARACTERS=",."')
FROM dual
Ответ 2
Смотрите документы Oracle для всего безумия, которое можно сделать для форматирования чисел. Короткий вариант - вам нужна функция "TO_CHAR" и укажите строку форматирования для вывода:
Взяв обновление Dead programmer (24 января /2011) (автор оригинала вопроса) и комментарий Amir Pashazadeh (5/Mar/2016), мы можем получить желаемый формат, разделенный запятыми, в следующем примере.
Этот код применяется для чисел с равными или менее 15 цифрами, если вам понадобится большая длина, вы должны добавить еще 999999 с максимальной длиной, с которой вы справитесь.
SELECT TRIM(TO_CHAR(12345678, '999,999,999,999,999')) ttry FROM DUAL
UNION ALL
SELECT TRIM(TO_CHAR( 1234, '999,999,999,999,999')) ttry FROM DUAL
;