对于某些旧版本 MySQL,`<> ##` 是否匹配过 `NULL`

Did `<> ##` ever match `NULL` for some older version of MySQL

MySQL 查询中有一个 WHERE foo <> ## 子句当前正在排除 foo IS NULL 处的行。争论的焦点是基于此查询的列表 使用 来包含此类行。 <> ## 运算符是否曾为 MySQL 的某些过去版本包含 NULL 行?

=<>!=<>LIKEIN(),等等。 returns NULL,表示未知的布尔状态。

在 MySQL 中一直是这种情况,本应如此,因为 ANSI SQL 以这种方式定义 NULL 语义。

MySQL 有一个可以比较 NULL 的运算符 <=>。参见 https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#operator_equal-to