Ребята я хочу напечатать следующие данные с разделенными значениями запятой с помощью Oracle SQLOracle SQL-запрос на номер формата запятой
696585242087
to
69,658,524,2087
и то же самое для десятичной.
Ребята я хочу напечатать следующие данные с разделенными значениями запятой с помощью Oracle SQLOracle SQL-запрос на номер формата запятой
696585242087
to
69,658,524,2087
и то же самое для десятичной.
SELECT TO_CHAR(696585242087, '99G999G999G9999', 'NLS_NUMERIC_CHARACTERS=",."')
FROM dual
+1 Позволяет использовать [страны] (http://en.wikipedia.org/wiki/Decimal_separator#Countries_using_Arabic_numerals_with_decimal_comma), которые используют десятичную запятую –
Что делать, если я не знаю, сколько цифр имеет номер источника, я имею в виду, любой шаблон для группировки каждые 3 цифры независимо от длины номера? –
взглянуть на to_char: http://www.oradev.com/oracle_number_format.jsp
См the Oracle docs для все безумия, которое может быть сделано для форматирования чисел. Короткая версия, вам нужна функция «TO_CHAR», а также обеспечить строку форматирования для вывода:
TO_CHAR(col_name, '999,999,999,999')
Если делать то, что вам нужно.
Принимая обновление в Dead programmer «з (24/Jan/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
Почему вы хотите, запятая перед правым более 4 цифр? – MatBailie
жаль, что это было, например. –