Oracle SQL говорит NULL вместо 0 (ноль)
У меня есть запрос, где он вычитает из двух столбцов, а затем делится, чтобы получить процент завершения. Если область не была запущена, она выдает NULL. Я бы хотел, чтобы вместо нее показывалось 00 или 0.
Вот мой запрос:
substr(count(process_locations.count_attempt_id)/count(processes.process_id),2,2) as "Percentage Complete"
Я пробовал NVL и COALESE, но не уверен, где их разместить. Я пробовал несколько комбинаций, но я получаю ошибки.
Я также попробовал СЛУЧАЙ КОГДА-ЛИБО КОНЕЦ, но он все еще сказал ноль
2 ответа
Решение
Вы можете попробовать так:-
NVL(substr(count(process_locations.count_attempt_id)/count(processes.process_id),2,2),0) as "Percentage Complete"
Ну, незаполненная "область" является нулевой, если поле не указано как "не нулевое". Если у вас есть разрешения, вы можете сделать это. В противном случае используйте NVL для замены любых NULLS нулями.