例えば、EMPLOYEES表のUSERIDの値が、NULLも空文字も含まないとき。
以下のSQLは、Oracleは0件、PostgreSQLは全件となる(SQL Serverも全件)。
SELECT
USERID
FROM
EMPLOYEES
WHERE
USERID NOT IN ('');
Oracleでは自動的に空文字("")を nullに変換しますが、PostgreSQLではnullに変換しません。
OracleからPostgreSQLへの移行(#NULLと空文字の違い)
より、
USERID NOT IN ('')が
PostgreSQLの場合、USERID != ''
Oracleの場合、USERID != NULL ※USERID IS NOT NULLでないので0件
となったと思われる。