Frage

Ich bin eine Funktion zu schreiben Gesamtnote in SQL erhalten

Was ich habe, ist;

out of 20 points I got 12.4 points

Wenn ich also, dass Transformation Prozentsatz über 100% zu übernehmen, wie würde ich es tun?

Thanx, Adnan

War es hilfreich?

Lösung

Vorausgesetzt, Sie „Funktion“, wie er in gespeicherte Prozedur bedeuten, es so in Oracle aussehen:

create or replace function pct
    (p_score in number
     , p_total in number)
    return number
    deterministic
is
begin
    return p_score * (100/p_total);
end;
/

Verschiedene Aromen der Datenbank haben unterschiedliche Spezifikationen für gespeicherte Prozeduren zu schreiben.

Andere Tipps

Teilen Sie die Punkte, die Sie durch die Gesamt haben, und mit 100 multiplizieren:

select [got] / [total] * 100
from MyTable

(12.4 / 20) x 100 den Prozentsatz geben.

erklären also einen Prozentsatz Variable in Ihrer func, verwenden Sie die oben und die Rückkehr?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top