not in ('abc') vs. != 'abc'
oracle 10g. we're using all uppercase.
i know using: <> is not very efficient.
but i'm surprised to see that these two where clauses return different results:
field is not null and field not in ('abc')
vs.
field not in ('abc', null)
the second statement does not return the record i'm looking for, while the 1st does!
also, when working with strings, is there a generally accepted preference between using: != 'abc' or not in ('abc') ,,, or is there another preferred operator / technic i'm forgetting?
Thanks,
mike.