i've read the 'null handling' section and still not found the answer to this
question:
why should
'select * from tbl where field=null'
be any different from
'select * from tbl where field isnull'
Because the SQL standard says so. By definition, a null never compares as equal to anything, *even another null* ("null=null" is defined to evaluate as false). Some people refer to this as "SQL's three-valued logic."