Oracle SQL запрос для форматирования числа через запятую - PullRequest
24 голосов
/ 24 января 2011

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

696585242087


to 

69,658,524,2087

и то же самое для десятичной дроби.

Ответы [ 4 ]

28 голосов
/ 24 января 2011
SELECT  TO_CHAR(696585242087, '99G999G999G9999', 'NLS_NUMERIC_CHARACTERS=",."')
FROM    dual
21 голосов
/ 24 января 2011

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

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

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

2 голосов
/ 24 февраля 2017

Принимая обновление Мертвого программиста (24 января 2011 г.) ( первоначальный автор вопроса ) и комментарий Амира Пашазаде (5 / Mar / 2016), мы можем получить желаемый формат через запятую на следующем примере.

Этот код применяется для чисел с одинаковыми или менее 15 цифрами, если вам понадобится больше длины, вы должны добавить больше 999 999 в соответствии с с максимальной длиной вы справитесь.

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
;

Результат:

enter image description here

2 голосов
/ 24 января 2011

посмотрите на to_char: http://www.oradev.com/oracle_number_format.jsp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...