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 нулями.

Другие вопросы по тегам