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

Jak mohu nastavit parametr String[] na nativní dotaz?

Jsem velmi pozdě na to odpovědět.

Toto řešení je určitým řešením pomocí vestavěné funkce postgreSQL, která pro mě rozhodně fungovala.

referenční blog

1) Převeďte pole řetězců na řetězec oddělený čárkami

Pokud používáte Java8, je to docela snadné. další možnosti jsou zde

String commaSeparatedString = String.join(",",stringArray); // Java8 feature

2) Vestavěná funkce PostgreSQL string_to_array()

další funkce pole postgreSQL naleznete zde

// tableName ( name text, string_array_column_name text[] )

String query = "insert into tableName(name,string_array_column_name ) values(?, string_to_array(?,',') )";


int[] types = new int[] { Types.VARCHAR, Types.VARCHAR};

Object[] psParams = new Object[] {"Dhruvil Thaker",commaSeparatedString };

jdbcTemplate.batchUpdate(query, psParams ,types); // assuming you have jdbctemplate instance


  1. Oracle PL/SQL:Zkontrolujte, zda je BLOB nebo CLOB prázdný

  2. Připojte se k serveru MySQL přes SSH v PHP

  3. v postgres, můžete nastavit výchozí formátování pro časové razítko, podle relace nebo globálně?

  4. SQL vybírá řádky podle nejnovějšího data se dvěma jedinečnými sloupci