Почему Oracle DECODE дает мне значение, отличное от NVL?
Этот запрос:
select nvl(0.75,0) from dual
дает мне0.75
(числовой) но этот запрос:
select decode(1,0,null,0.75) from dual
дает мне'.75'
(Строка).
Зачем?
Я попытался исправить это, изменив второй запрос на:
select decode(1,0,null,to_char(0.75,'0.99')) from dual
но в моем действительном коде 0,75 будет полем (НОМЕР), которое может иметь различное количество десятичных знаков, и я 'Я не должен добавлять / удалять что-либо из этого значения.
Любые идеи о том, как исправить пропущенную нулевую проблему, но все еще поддерживают все возможные десятичные длины?