在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
,则使用 <=>
是没有用的。
在几乎所有其他情况下,你的逻辑都不会在乎。
我几乎从未见过有人使用<=>
.