Форматирование чисел , раскрываем секреты to_char
Категория: Блог
Опубликовано 24.05.2017
столкнулся с задачей , что необходимо вывести в отчет число с разделением разрядов
то есть вот так
исходное число 1234567689.23
вывод числа 123`456`768`9.23
для этого воспользовался функцией преобразование to_char
итак
select to_char(1234325234234.55,'999G999G999G999G999' ) nn from dual -- 1 234 325 234 235
число разделено на разряды но это не совсем то, что нам нужно
далее необходимо добавить , работу с дробными числами для этого при во втором параметре используется спец конструкция D , разделитель
select to_char(1234325234234.55,'999G999G999G999G999D00' ) nn from dual -- 1 234 325 234 234,55 или select to_char(1234325234234.55,'999G999G999G999G999D00' ) nn from dual -- 1 234 325 234 234,55
чтобы задать необходимый разделитель разрядов необходимо воспользоватся конструкцией nls_lang
так же с помощью конструкции nls_lang задается разделитель дробной и целой части числа
select to_char(1234325234234.55,'999G999G999G999G999D00', 'NLS_NUMERIC_CHARACTERS = ,`' ) nn from dual -- 1`234`325`234`234,55Просмотров: 1131