So fügen Sie die Sortierrichtung dynamisch in eine SQL-Abfrage ein
Posted: 06 Jan 2025, 20:13
Ich habe dies am Ende meiner SQL-Abfrage:
Dies führt jedoch zu einem Kompilierungsfehler (das „DESC“ bezieht sich auf das DESC ganz am Ende. Nicht auf die Zeichenfolgen davor):
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 :sortField = 'creationDate' THEN update_.creation_date
ELSE update_.default_time_field
END,
CASE WHEN :sortDirection = 'DESC' THEN DESC END;
Code: Select all
expected, got 'DESC'
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;