PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Übergeben Sie mithilfe von JDBC und Postgres eine unbekannte Anzahl von Parametern an die IN-Klausel

Sie könnten einen zusammengesetzten Typ wie

erstellen
CREATE TYPE triple AS (
   a smallint,
   b integer,
   c integer
);

Dann könnten Sie die Abfrage so schreiben:

SELECT * 
FROM t 
WHERE (t.one, t.two, t.three) = ANY (?::triple[]);

Sie würden das Array als einzelne Zeichenfolge bereitstellen, die wie folgt aussieht

{(11\,12\,13), (21\,22\,23)}

= ANY macht dasselbe wie IN , aber es kann mit einem Array auf der rechten Seite verwendet werden.