sql >> Database teknologi >  >> RDS >> Sqlserver

ER NULL versus <> 1 SQL bit

Årsagen <> ikke virker, er at SQL behandler NULL som ukendt - den ved ikke hvad NULL formodes at betyde, så det evaluerer både = og <> på en NULL værdi som UKENDT (som behandles som falsk i en where-klausul eller join-betingelse). For mere info, læs dette:Hvorfor evalueres NULL =NULL til falsk i SQL-serveren .

Hvis der er et indeks på det, vil brug af ISNULL-funktionen betyde, at indekset ikke kan bruges, så for at sikre, at forespørgslen kan bruge indekset, skal du blot bruge ELLER :

SELECT * 
FROM TableName
WHERE
   bit_column_value IS NULL OR bit_column_value = 0


  1. Hvordan genererer man tilfældigt tal uden gentagelse i databasen ved hjælp af PHP?

  2. opsætning af PostgreSQL med django-projekt

  3. Mysql lagret procedure med java String Array

  4. MySQL-fejlkode:1030Fik fejl -1 fra lagermotoren; Jeg har forsøgt at slette data fra min database