Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann man Oracle anweisen, nach einer bestimmten Sortierreihenfolge zu sortieren, die von Java übergeben wird?

Wenn Sie die Abfrage in Java ändern können, könnten Sie etwa so vorgehen:

SELECT t.id
FROM t_test t
ORDER BY DECODE(t.id, 3, 'A', 'B') ASC,
         DECODE(t.id, 4, 'A', 'B') ASC,
         DECODE(t.id, 5, 'A', 'B') ASC,
         DECODE(t.id, 6, 'A', 'B') ASC,
         DECODE(t.id, 1, 'A', 'B') ASC,
         DECODE(t.id, 2, 'A', 'B') ASC;

Sie müssen für jedes Element in der Liste eine Dekodierung in die order by-Klausel einfügen. Der zweite Parameter in jeder Dekodierung ist ein Element der Liste.