sql >> Databasteknik >  >> RDS >> PostgreSQL

JDBC - välj var kolumnen är NULL

Ingenting är = NULL . Om du skrev select * from test where value=NULL i en interaktiv frågeutvärderare skulle du inte få något tillbaka. JDBC skriver inte om ditt uttryck, det ersätter bara värdena.

Du måste använda en fråga med is operatör istället:

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

Du har sagt att du förväntar dig att JDBC är tillräckligt "smart" för att göra det åt dig, men det skulle vara en stor kränkning av separationen av bekymmer. Du kanske vill att ha en parameter i din fråga med = som du ställer in NULL att veta att den relationen aldrig kommer att utvärderas sann (som en del av en större uppsättning villkor, troligen).



  1. Välj kolumnnamn och värde från tabellen

  2. ingen matchande unik eller primär nyckel för denna kolumnlista. Den primära nyckeln finns dock

  3. Hur man aktiverar Genymotion-emulatorn att använda WIFI-internet som värden använder

  4. Postgres JSON-datatyp Rails-fråga