sql >> Databasteknik >  >> RDS >> Sqlserver

Problem med SQL-jämförelse och null-värden

Problemet är med NULL-jämförelse. Om a.field1 eller b.field3 är NULL måste du använda en IS NULL eller IS NOT NULL-sats. Du kan använda ett standardvärde för a.field1 och b.field3 med ISNULL-funktionen.

ISNULL(a.field1,0) <> ISNULL(b.field3,0)

i detta fall finns det en jämförelse med värdet 0.

SELECT IIF(NULL=NULL,'true','false') -- Resultatet är falskt. Fantastiskt!



  1. Hur kan jag mappa ett Java-datum till DATETIME i mysql (som standard dess TIMESTAMP) med Hibernate-kommentarer

  2. Hur man sparar en UUID som binär(16) i java

  3. Hur begränsar man en databastabell så att bara en rad kan ha ett visst värde i en kolumn?

  4. Hur hoppar man över dubbletter med INSERT INTO på ett bättre optimerat sätt?