Проблема деления Oracle - PullRequest
       3

Проблема деления Oracle

1 голос
/ 31 января 2011

У меня есть этот запрос:

select (round(scp.qty/ppc.qty) * 100,4) || '%' as qtyco from .....

Проблема в том, что вместо возврата "0,123%" возвращается просто ".123%"

Любая идея, почему ... или как моглая это исправлю?типы двух столбцов кол-во: НОМЕР (12,0)

Спасибо!

Ответы [ 2 ]

4 голосов
/ 31 января 2011

это просто проблема отображения: ваш номер конвертируется в varchar, поскольку вы используете оператор конкатенации || (Oracle выполняет преобразование неявно ).Вам следует запросить формат явно , например:

select to_char(round(scp.qty / ppc.qty * 100, 4), 'fm990.9999') || '%' as qtyco
1 голос
/ 31 января 2011

Oracle может автоматически преобразовать число в символ. Я думаю, что было бы лучше преобразовать его вручную, чтобы вы могли контролировать, как это сделать.

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