当前位置: 首页 > 面试题库 >

具有空值的SQL相等/不相等比较

酆出野
2023-03-14
问题内容

首先采取klurudge解决方案,使用哨兵方法(必须让您的程序不允许输入哨兵值):

 select coalesce(a, -2147483648) = coalesce(b, -2147483648) as is_equal -- a little postgresism

假设您忘记了阻止程序中的哨兵值,用户在B字段中输入了-2147483648,而A为空。上面的代码报告为true,应报告为false,不应报告为true或null。

比较可为空字段上的相等性的最简洁方法是什么?A == B仅应报告true或false,而不管该字段是否可为空。


问题答案:

也许IS [NOT]不同于这里会有所帮助。



 类似资料:
  • 问题内容: 在对某些功能进行单元测试的上下文中,我试图使用python pandas建立2个DataFrames的相等性: 鉴于我正在尝试针对的完整测试(包括职位),我在做什么错? 比较包含s的Series / DataFrames相等性的最简单方法是什么? 问题答案: 您可以将assert_frame_equals与check_names = False一起使用(以免检查索引/列名称),如果它们

  • 我想从有更多经验的人那里得到一些建议,他们在Java中使用原始的双相等。由于可能的舍入错误,对两个双和使用是不够的。 我的问题是: > 使用相对误差计算某个增量值,是否有一个通用(而不是特定于应用程序)的增量值值得推荐?请参阅下面的示例。 下面是一个通用函数,用于检查考虑相对错误的相等性。您建议的值是多少,以捕获简单操作 ,-,/,* 操作中的大部分舍入错误?

  • JavaScript 有两种方式判断两个值是否相等。 等于操作符 等于操作符由两个等号组成:== JavaScript 是弱类型语言,这就意味着,等于操作符会为了比较两个值而进行强制类型转换。 "" == "0" // false 0 == "" // true 0 == "0"

  • 问题内容: 如果我想找出两个键中是否没有一个键与另一个键不同,并且该键的值彼此匹配,如何最好地比较两个键。 将A与B进行比较时,由于B和D键的不同,它应该会失败。 如何最好地比较未排序的哈希图? 问题答案: 做一个支票上两者秒。 注意: 如果您包含键,那没有问题,但是如果您的Map包含类型键,则需要确保您的类实现了。

  • 在我的JUnit测试中,我将预期的XML文件与解析器创建的虚拟文档进行比较: 但区别声称并不相似。那么如何正确比较这两个XML文档呢?

  • 问题内容: Hashcode()和equals()的概念是 1)如果两个对象根据equal()相等,则在这两个对象中的每一个上调用hashcode方法应产生相同的哈希码。 另一个是 2)如果两个对象根据equal()不相等,则不需要在两个对象中的每一个上调用hashcode方法必须产生不同的值。 我尝试并理解了第一个,这是第一点的代码。 上面的程序为两个不同的对象提供了相同的哈希码。 有人可以用一