sql >> Database >  >> RDS >> PostgreSQL

JDBC - selecteer waar de kolom NULL is

Niets is = NULL . Als u select * from test where value=NULL . heeft getypt in een interactieve query-evaluator, zou je niets terug krijgen. JDBC herschrijft je uitdrukking niet, het vervangt alleen de waarden.

U moet een zoekopdracht gebruiken met de is operator in plaats daarvan:

PreparedStatement select = c.prepareStatement("select * from test where value is NULL");
return select.executeQuery();

U hebt gezegd dat u verwacht dat JDBC "slim" genoeg is om dat voor u te doen, maar dat zou een grote schending zijn van de scheiding van belangen. Je zou heel goed kunnen willen om een ​​parameter in uw zoekopdracht te hebben met behulp van = die u instelt NULL wetende dat die relatie nooit waar zal evalueren (als onderdeel van een grotere reeks voorwaarden, hoogstwaarschijnlijk).



  1. Gemiddelde tijd om op bericht te reageren

  2. BOOLEAN- of TINYINT-verwarring

  3. Hoe innodb in mysql uit te schakelen?

  4. CLEAR SCREEN - Oracle SQL Developer snelkoppeling?