Итак, в основном формула имеет вид
COUNT(NULL-valued "end_dt") / COUNT(*) * 100
Теперь, COUNT(NULL-valued "end_dt")
синтаксически неверен, но его можно представить как COUNT(*) - COUNT(end_dt)
.Итак, формула может быть такой:
(COUNT(*) - COUNT(end_dt)) / COUNT(*) * 100
Если мы просто немного упростим ее, мы получим следующее:
SELECT (1 - COUNT(end_dt) <s>* 1.0</s> / COUNT(*)) * 100 AS Percent
FROM packages
Бит * 1.0
преобразуетцелочисленный результат от COUNT
до нецелого значения, поэтому делите также нецелое деление.
Вышеприведенное предложение и соответствующая часть сценария оказались полным мусором.В отличие от некоторых других серверов баз данных, Oracle не выполняет целочисленное деление, даже если оба операнда являются целыми числами. Эта страница документа не содержит подсказок о таком поведении оператора деления.