sql >> Databasteknik >  >> RDS >> PostgreSQL

skicka okänt antal parametrar till IN-satsen med JDBC och Postgres

Du kan skapa en sammansatt typ som

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

Sedan kan du skriva frågan så här:

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

Du skulle tillhandahålla arrayen som en enda sträng som ser ut som

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

= ANY gör samma sak som IN , men den kan användas med en array på höger sida.



  1. Återställ sekvens i oracle 11g

  2. Hur man ändrar servernivåsortering av körande SQL Server-instans

  3. Java SQL-datum är avstängt med 1 dag

  4. Hur man importerar en enskild tabell till mysql-databasen med hjälp av kommandoraden