Porting NULL and empty-string semantics across Oracle, SQL Server, MySQL and SQLite
Port NULL handling across Oracle, SQL Server, MySQL and SQLite by fixing four portability points: how a NULL is tested, what a comparison against NULL returns, whether boolean contexts coerce NULL, and what an empty string means. Oracle treats a zero-length character as null but warns this may change, while SQL Server depends on ANSI_NULLS, MySQL returns NULL for comparisons and coerces 0 and NULL to false in boolean contexts, and SQLite's IS and IS NOT are an extension.
SQL portability / NULL handling / Oracle / SQL Server / MySQL / SQLite / empty string / ANSI_NULLS