On 17 Feb 2016, at 3:33am, Denis Burke <burkeden at gmail.com> wrote:

> select case when null not in ('a') then 'not in list' else 'is in list' end;
> 
> This gives "is in list".  But since null is clearly not in the list of one
> member ('a'), I would expect this to generate "not in the list".
> 
> Is this expected behavior, or a bug?

Expected behaviour.

The pseudo-value null is not a value like zero, it's a placeholder which means 
"I don't know the value of this thing.".  Thus a field with null in might be 
'a'.  So

> null not in ('a')

is not definitely true.

Simon.

Reply via email to