SQL Server entspricht Oracle LEAST?

Ich habe nach einem guten Äquivalent zur Oracle LEAST-Funktion gesucht.

Ich hoffe, eine benutzerdefinierte Funktion zu implementieren, die ungefähr 10 ziemlich komplexe Berechnungen durchführt und den Minimalwert aus jeder dieser Berechnungen entnimmt.

Was ich in Oracle tun würde, ist:

SELECT LEAST
(
select expression1 from dual,
select expression2 from dual,
select expression3 from dual
) from dual

Sehenhttp://www.techonthenet.com/oracle/functions/least.php Weitere Informationen zu Oracle LEAST.

Wenn expression1 10 zurückgibt, expression2 5 zurückgibt und expression3 30 zurückgibt, wird der gesamte Ausdruck 5 zurückgeben.

Da dies ungefähr 10-20 Berechnungen sein können, wird die CASE WHEN-Syntax schnell unhandlich.

Obwohl der Code besser lesbar ist, wenn wir ihn in mehrere Teile aufteilen, wäre es meiner Meinung nach effizienter, ihn in einer Datenbankabfrage auszuführen. Lassen Sie mich wissen, dass ich in diesem Punkt falsch liege!

Das heißt, eine gespeicherte Prozedur mit 20 einfachen Abfragen ist erheblich langsamer als eine gespeicherte Prozedur mit einer Abfrage, die auf viele Tabellen in einer Abfrage verweist.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage