sql >> Database >  >> RDS >> PostgreSQL

Postgresql-arrayfuncties met QueryDSL

  1. De eerste stap is het genereren van de juiste sql:WHERE tags @> '{"someTag","anotherTag"}'::text[];
  2. 2e stap wordt beschreven door Coladict (heel erg bedankt!):zoek uit welke functies worden aangeroepen:@> is arraycontains en ::text[] is string_to_array
  3. De derde stap is om ze correct aan te roepen. Na uren van debuggen kwam ik erachter dat HQL functies niet als functies behandelt, tenzij ik een expressieteken heb toegevoegd (in mijn geval:...=true), dus de uiteindelijke oplossing ziet er als volgt uit:predicate.and(Expressions.booleanTemplate("arraycontains({0}, string_to_array({1}, ','))=true", entity.tags, tagsStr)); waar tagsStr - is een String met waarden gescheiden door ,


  1. Hoe het aantal keren dat het scheidingsteken voorkomt in een tekenreeks te tellen, met uitzondering van die tussen aanhalingstekens

  2. MYSQL-installatie met een .NET winforms-app

  3. Paginering van grote PHP-arrays

  4. PHP MySQLi multi_query voorbereid statement