gpt4 book ai didi

sql - 在 SQL Server 中评估 "value1 IS NOT DISTINCT FROM value2"的最佳方法

转载 作者:行者123 更新时间:2023-12-03 08:48:28 28 4
gpt4 key购买 nike

SQL Server 是否有与 Ansi SQL 运算符等效的运算符:IS DISTINCT FROM/IS NOT DISTINCT FROM?

我知道我可以替换:

value1 is not distinct from value2

与:

(value1 = value2) or (value1 is null and value2 is null)

或:

coalesce(value1, -1) = coalesce(value2, -1)

但是这些选项会阻止引擎使用索引,那么 SQL Server 是否有特定的运算符来检查这种比较?

谢谢。

最佳答案

没有。

不幸的是,SQL Server 没有实现null -safe 运算符,与其他数据库不同,例如 Postgres(支持标准 IS DISTINCT FROM 运算符)或 MySQL(具有名为 <=> 的扩展运算符)。

所以你基本上陷入了以下结构:

(value1 = value2) or (value1 is null and value2 is null)

关于sql - 在 SQL Server 中评估 "value1 IS NOT DISTINCT FROM value2"的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60396398/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com