sql >> Databasteknik >  >> RDS >> Mysql

Hur skapar jag en dynamisk SQL-fråga vid körning med JDBI:s SQL Object API?

JDBI är inte särskilt väl lämpad för att konstruera dynamiska frågor. IMO hela poängen med detta bibliotek är att separera kod och SQL-frågor så mycket som möjligt.

Men ditt specifika fall kan lösas med hjälp av SQL:

COALESCE(:foo, foo) 

om 'foo' är namnet på kolumnen i tabellen, och :foo kommer att lösas till NULL, kommer mysql SET att vara effektivt

SET foo=foo

d.v.s. det kommer inte att göra något (vilket är önskvärt i ditt fall). Om :foo inte är null kommer det att motsvara

SET foo=:foo


  1. Kopiera i Postgresql:Absolute Path Tolkad som Relativ Path

  2. Hur man stoppar/startar databasens e-postkö i SQL Server (T-SQL)

  3. Kör Python Script från MSSQL

  4. Vad är skillnaden mellan AS och IS i en Oracle-lagrad procedur?