Почему || обрезает в некоторых значениях число слева, либо выдает значения значения вида 5,876544358765677786E-8?

Рейтинг: 0Ответов: 1Опубликовано: 16.03.2023

Мне нужно посчитать процент в Oracle Developer. Данные потом переносятся в excel. В excel, если выбрать формат столбца, процент не нужно при делении умножать на 100, а достаточно просто col1/col2.

Но в этом случае для некоторых столбцов выдает значения вида 5,876544358765677786E-8, если пишу в таком виде: ROUND((col1/col2*100),8) || '%', то в некоторых значениях обрезает 0 до запятой и выводит ,056789543

Как сделать, чтобы либо выводил значения, которые можно скопировать в excel и там применить формат процент, либо добавить знак % и чтобы не обрезал значения?

Ответы

▲ 0

Чтобы не обрезало ноль, используйте формат с нулём, а не девяткой

select to_char(col1/col2*100, '9990.00')||'%' from dual