Q:

Why does = NULL not work in Oracle?

I recently realized that we need to use a special syntax IS NULL to compare a literal to NULL.
Why does = NULL not work here?

A:

Take a look at PSOUG's notes on NULL.  As Fabricio Araujo hinted, NULL is not really a value like the number 4 or string 'bacon strips'.  In fact, NULL is untyped in the SQL language, which is why you cannot validly use it in an equality comparison.  You need the special IS [NOT] NULL syntax to check if a value is NULL or not.

A:

In SQL Server, we have an connection setting to get =NULL to behave equally to IS NULL. But in latest versions is not recommended anymore - it's even marked as deprecated. 
The recommended is the SQL Standard way - the IS [NOT] NULL operator. 
(And I will not start an war whether 'NULL is a value or a status' here)... hehehe

