Così ho una semplice query che restituisce un elenco di prodottiSQL e Null I valori in cui la clausola
SELECT Model, CategoryID
FROM Products
WHERE (Model = '010-00749-01')
Ciò restituisce
010-00749-01 00000000-0000-0000-0000-000000000000
010-00749-01 NULL
che è corretto, così ho voluto solo i prodotti la cui IDCategoria non è '00000000-0000-0000-0000-000000000000' quindi ho
SELECT Model, CategoryID
FROM Products
WHERE (Model = '010-00749-01')
AND (CategoryID <> '00000000-0000-0000-0000-000000000000')
Ma questo non restituisce alcun risultato. Così ho cambiato la query per
SELECT Model, CategoryID
FROM Products
WHERE (Model = '010-00749-01')
AND ((CategoryID <> '00000000-0000-0000-0000-000000000000') OR (CategoryID IS NULL))
che restituisce risultato atteso
010-00749-01 NULL
Qualcuno può spiegare questo comportamento a me? MS SQL Server 2008
l'articolo wiki è abbastanza bravo a spiegare NULL - http://en.wikipedia.org/wiki/Null_%28SQL%29 –
@Russ Cam - avresti dovuto postare questo come risposta ... – veljkoz
Mi sono sentito era più di una risposta lmgtfy :) –