Oracle sortiert nicht korrekt, wenn dieselbe Spalte zweimal verwendet wird

8

Wenn ich diese Abfrage ausführen, werden die Ergebnisse nicht richtig sortiert.

%Vor%

Produziert:

%Vor%

Wenn die erste Zeile (SYSDATE - Datumsspalte a,) entfernt wird, funktioniert alles. Gibt es einen bestimmten Grund, warum dies geschieht?

    
Adam Brokes 13.05.2014, 15:00
quelle

2 Antworten

4

Dies scheint ein Fehler zu sein. Dieses Verhalten ähnelt dem Fehler 8675087, der angeblich in 11.2.0.2 behoben wurde - und in der Tat kann ich den Testfall dafür nicht reproduzieren. Aber ich sehe immer noch dein Verhalten in dieser Version (auf SQL Fiddle ) und in 11.2.0.3, also ist das ähnlich aber nicht genau das gleiche ...

Wenn Sie dadurch ein echtes Problem haben, können Sie keine Problemumgehung finden, mit der Sie zufrieden sind (zB die Reihenfolge der Spalten tauschen; wenn sortcolumn der erste Ausdruck ist, der sysdate verwendet, scheint es in Ordnung zu sein , aber das Austauschen von Spalten in Ihrer echten Abfrage ist möglicherweise nicht bequem). Dann sollten Sie eine Serviceanforderung mit Oracle auslösen.

    
Alex Poole 13.05.2014 17:20
quelle
1

Faszinierender Fehler. Reproduziert am 11.2.0.2.

Selbst wenn die Abfrage in eine Unterabfrage eingeschlossen wird:

%Vor%

(Ergebnisse nicht richtig sortiert)

%Vor%

(Ergebnisse richtig sortiert)

Die beste Problemumgehung, die ich mir vorstellen kann, ist die Verwendung einer skalaren Unterabfrage für SYSDATE. Dies scheint zu einer korrekten Sortierung zu führen:

%Vor%     
Jeffrey Kemp 14.05.2014 14:05
quelle

Tags und Links