sql >> Databáze >  >> RDS >> PostgreSQL

Svažte parametr pole s nativním dotazem

Vynechejte array[...] z vašeho SQL:

WHERE CAST(:commoditySpecIds AS BIGINT[])

a poté předat seznam ID jako řetězec, který vypadá takto:

"{1,2,3,4}"

Výchozí toString() pro seznamy obvykle vrací něco jako:"[1,2,3]" , takže můžete udělat něco takového:

String literal = commoditySpecsIds.toString();
literal = "{" + literal.substring(1,literal.length() - 1) + "};

a pak to předejte své matné vrstvě:

setParameter("commoditySpecIds", literal)


  1. Oprava „ERROR: chybějící záznam klauzule FROM pro tabulku“ v PostgreSQL při použití UNION, EXCEPT nebo INTERSECT

  2. TSQL - Jak používat GO uvnitř bloku BEGIN .. END?

  3. Jak přidat sloupec, pokud neexistuje na PostgreSQL?

  4. Proč je platný SELECT bez sloupců