Подтвердить что ты не робот

Запрос oracle sql для форматирования чисел запятой

Ребята, я хочу напечатать следующие данные с значениями, разделенными запятыми, с помощью oracle sql

696585242087


to 

69,658,524,2087

и то же для десятичной.

4b9b3361

Ответ 1

SELECT  TO_CHAR(696585242087, '99G999G999G9999', 'NLS_NUMERIC_CHARACTERS=",."')
FROM    dual

Ответ 2

Смотрите документы Oracle для всего безумия, которое можно сделать для форматирования чисел. Короткий вариант - вам нужна функция "TO_CHAR" и укажите строку форматирования для вывода:

TO_CHAR( col_name, '999,999,999,999') 

Должен делать то, что вам нужно.

Ответ 4

Взяв обновление 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
;

Результат:

TTRY
12,345,678
1,234

Пример SqlDeveloper