Ich wär mir nicht sicher, dass es an der Menge der Elemente liegt.
Eher der Typ der Ausgabe von decode. Die kann ja Text, Date usw sein.
Decode bzw Oracle weiß zu Begin des Aufrufes selbst nicht, welchen Typ das Ergebnis hat und bestimmt das nach irgendeinem definierten Verfahren. Wenn man das nicht berücksichtigt, fliegt auch gleich das Decode auf die Nase.
Ich glaube es ist sowas wie: Spaltenergebnis Typ = Typ der erstmaligen Auswertung oder sowas.
Naja und wenn der Server da schon so nachdenken muss, dann
Ado erst Recht.
Ein Union könnte also dem Treiber helfen, indem man eine Dummyzeile an den Anfang setzt mit einem Texttyp für die Spalte. (Muss im Endergebnis natürlich wieder verschwinden)
Ansonsten noch ein Union, der alle Währungen mit Faktor aufführt und zur Hauptabfrage gejoined wird, dann ist das ganze decode raus.
Aber ist ja eh gelöst.