sql >> Databáze >  >> RDS >> Mysql

Jak vytvořím dynamický dotaz SQL za běhu pomocí rozhraní JDBI Sql Object API?

JDBI není příliš vhodné pro vytváření dynamických dotazů. IMO celý smysl této knihovny je co nejvíce oddělit kód a SQL dotazy.

Váš konkrétní případ však může být vyřešen pomocí SQL:

COALESCE(:foo, foo) 

pokud je 'foo' název sloupce v tabulce a :foo se vyhodnotí na NULL, pak bude mysql SET efektivně

SET foo=foo

tj. neudělá nic (což je ve vašem případě žádoucí chování). Pokud :foo není null, bude ekvivalentní

SET foo=:foo


  1. Jak vytvořit dotaz s group_concat na serveru SQL

  2. Najděte překrývající se období v PostgreSQL

  3. Jak povolit TimescaleDB na existující databázi PostgreSQL

  4. Podmínky závodu mezi výběrem a aktualizací