什么时候不使用 <=> 而不是 MariaDB/MySQL 中的 =?

When not to use <=> instead of = in MariaDB/MySQL?

有没有理由在 MariaDB/MySQL 中使用 = 而不是 <=>?似乎 = 运算符只有在表达式结果需要 null 时才是可取的。

将每个 = 替换为 <=> 会产生任何后果吗?即使两个操作数永远不能为空(行为应该保持完全相同)?

首先,NULL的意思不太清楚。网上有很多关于人们如何解读它的文章。

因此,使用 <=> 只会增加混乱,并且您冒着风险,因为其他开发人员可能不太了解它。它严重偏离了大多数人期望查询的标准行为。我建议您避免使用它,除非有充分的理由使用它。

a = b  -- Always NULL (which is usually treated as False) if either is NULL
a <=> b  -- True if _both_ are NULL

如果两列都声明为 NOT NULL,则使用 <=> 没有用。

在几乎所有其他情况下,您的逻辑都不会关心。

我几乎从未见过有人使用 <=>