PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Свържете параметъра на масива към собствената заявка

Оставете array[...] от вашия SQL:

WHERE CAST(:commoditySpecIds AS BIGINT[])

и след това предайте списъка с идентификатори като низ, който изглежда така:

"{1,2,3,4}"

По подразбиране toString() за списъци обикновено връща нещо като:"[1,2,3]" , така че можете да направите нещо подобно:

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

и след това го предайте на вашия слой за обфускация:

setParameter("commoditySpecIds", literal)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Тестове на Parallel Go, изпълнени срещу PostgreSQL база данни, работеща на Docker

  2. Как работи make_timestamptz() в PostgreSQL

  3. Заявка за последните N свързани реда на ред

  4. Възможно ли е да се промени естествения ред на колоните в Postgres?

  5. Как работи Random() в PostgreSQL