So fügen Sie die Sortierrichtung dynamisch in eine SQL-Abfrage einJava

Java-Forum
Guest
 So fügen Sie die Sortierrichtung dynamisch in eine SQL-Abfrage ein

Post by Guest »

Ich habe dies am Ende meiner SQL-Abfrage:

Code: Select all

ORDER BY
CASE
WHEN :sortField = 'creationDate' THEN update_.creation_date
ELSE update_.default_time_field
END,
CASE WHEN :sortDirection = 'DESC' THEN DESC END;
Dies führt jedoch zu einem Kompilierungsfehler (das „DESC“ bezieht sich auf das DESC ganz am Ende. Nicht auf die Zeichenfolgen davor):

Code: Select all

 expected, got 'DESC'
Das ist in Ordnung, aber es fällt mir schwer, es zu umgehen. SQL lässt mich einfach nicht zu.
Ich verwende Postgres 11. Ich injiziere Parameter mit Java-Code (Micronaut-Data. Nein, ich kann Pageable nicht verwenden).< /p>
So sieht das Obige aus, wenn ich tatsächlich die Werte für die Variablen eingebe:

Code: Select all

ORDER BY
CASE
WHEN 'creationDate' = 'creationDate' THEN update_.creation_date
ELSE update_.default_time_field
END,
CASE WHEN 'DESC' = 'DESC' THEN DESC END;

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post