sql >> Database >  >> RDS >> Mysql

Hoe maak ik tijdens runtime een dynamische SQL-query met behulp van JDBI's Sql Object API?

JDBI is niet erg geschikt voor het construeren van dynamische queries. IMO het hele punt van deze bibliotheek is om code en SQL-query's zoveel mogelijk te scheiden.

Uw specifieke geval kan echter worden opgelost door middel van SQL:

COALESCE(:foo, foo) 

als 'foo' de naam is van de kolom in de tabel, en :foo wordt omgezet in NULL, dan is mysql SET effectief

SET foo=foo

d.w.z. het zal niets doen (wat in uw geval gewenst is). Als :foo niet null is, is het gelijk aan

SET foo=:foo


  1. Krijg alle kinderen op ouder-ID en waar-clausule in mysql

  2. 2 voorbeelddatabases voor SQLite

  3. ALS NIET BESTAAN WERKT NIET!

  4. Is het mogelijk voor Oracle sqlldr om een ​​TNS-vermelding te accepteren als instantiekwalificatie in Oracle 10 en 11?