Comment by yencabulator
4 years ago
The value in your if is not false, it's NULL. NULL=NULL behaves exactly like NULL=42, the value is NULL. Which is what the parent was trying to explain.
With Postgres:
postgres=# \pset null <null>
postgres=# select null, null=null, null=42;
?column? | ?column? | ?column?
----------+----------+----------
<null> | <null> | <null>
(1 row)
I see, thank you. This behaviour is news to me.