与可为空值的 SQL 相等/不相等比较

2023-12-12

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

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

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

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


大概[不]不同于会在这里提供帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与可为空值的 SQL 相等/不相等比较 的相关文章

  • 拆分列中的字符串并在列中添加值

    我有一个包含几行数据的表 如下所示 16 W 2 Work ALBO 00 Proposal ALxO Amendement 1 20091022 signed pdf 17 W 2 Work ALBO 00 Proposal Level1
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • SQL 删除表并重新创建并保留数据

    在我们最初的设计中 我们搞砸了表中的外键约束 现在表已充满数据 我们无法在不删除表中所有记录的情况下更改它 我能想到的唯一解决方案是创建一个备份表并将所有记录放在那里 然后删除所有记录 更改表并开始将它们添加回来 还有其他 更好 的想法吗
  • 使用 JSON 参数的 Postgres 批量 INSERT 函数

    这是一个plpgsqlpostgres 的函数9 6 它试图INSERT一行 如果插入没有失败 由于违反键约束 那么它会运行更多命令 CREATE FUNCTION foo int text text RETURNS void AS BEG
  • 插入触发器最终在分区表中插入重复行

    我有一个分区表 我认为 适当的INSERT触发器和一些限制 不知何故 INSERT语句为每个语句插入 2 行INSERT 一个用于父分区 一个用于相应的分区 设置简要如下 CREATE TABLE foo id SERIAL NOT NUL
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • 使用 JavaScript 比较两个日期未按预期工作[重复]

    这个问题在这里已经有答案了 这是我的 JavaScript 代码 var prevDate new Date 1 25 2011 the string contains a date which comes from a server si
  • MyBatis:在一个查询中通过注释收集

    我有一个 xml 映射器 一个选择映射器和一个结果映射器 它工作没有问题 但我想使用注释 我的映射器
  • 月份增量查询

    我想通过添加 1 个月来更新数据库中的月份 但我不知道如何在以下存储过程查询中添加月份 我不擅长 sql 请检查它 ALTER PROCEDURE dbo ChangePassword password varchar 20 epasswo
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • XML 解析:格式良好的检查:未声明的实体

    我正在使用 SSMS 2008 但收到以下错误 你知道这意味着什么吗 Msg 9448 Level 16 State 1 Line 4 XML parsing line 1 character 89 well formed check un
  • 计算运行总计时出错(之前期间的累计)

    我有一张桌子 我们称之为My Table有一个Created日期时间列 在 SQL Server 中 我试图提取一个报告 该报告显示历史上有多少行My Table按月在特定时间 现在我知道我可以显示有多少added每个月 SELECT YE
  • 在 postgres 查询中使用列表

    我有一个动态列表 list a b c d 所以长度可能会改变 我想在查询中比较这些列表值 select from student where name in all the list values 我想将列表值传递到此查询中 我怎样才能做
  • SQL不允许表中有重复记录

    如何使其不添加重复项 我想让它通过 ID 之外的所有其他列进行检查 我希望这个无效 ID col1 col2 col3 1 first middle last ID col1 col2 col3 2 first middle last 我希
  • MS ACCESS 计数/求和行数,不重复

    我有下表 我需要计算总行数而不包括任何重复记录 CustomerID test1 test1 test2 test3 test4 test4 如您所见 总行数为 6 但有两个 test1 和两个 test4 我希望查询返回 4 IOW 我想
  • 使用 postgres 和 node js 在单个语句中执行多个查询

    我需要在像这样的单个语句中执行插入和删除查询 INSERT INTO COMPANY ID NAME VALUES 1 Paul DELETE FROM COMPANY WHERE ID 12 这是我用于执行查询的 node js 代码 p

随机推荐

  • 斯坦福-NER定制对软件编程关键字进行分类

    我是 NLP 新手 我使用斯坦福 NER 工具对一些随机文本进行分类 以提取软件编程中使用的特殊关键字 问题是 我不知道如何更改斯坦福 NER 中的分类器和文本注释器来识别软件编程关键字 例如 today Java used in diff
  • 为什么包含空字符串的列表为真?

    我在工作中发现了一些返回包含空字符串的列表的内容 为了简单起见 我创建了一个示例 big ol trickster if big ol trickster foo else print You can t trick me 而且这个条件每次
  • 如何在 Docker Compose V2 中扩展服务?

    我有三个不同的项目 ProjectS 依赖于 Project 而 Project 又依赖于 Project 假设您只想开发 ProjectC 因此我想仅在运行时使用具有一个容器的设置 项目需要项目 所以我必须定义一个带有两个图像的docke
  • 获取 vcproj 文件中 $(ProjectDir)、$(SolutionDir) 的值

    是否可以得到的值 ProjectDir or SolutionDir 在 Visual Studio 之外以编程方式 我的情况是我需要将 vcproj 文件作为文本文件读取并获取其属性 如输出目录等 问题是某些属性包含环境变量 如 Solu
  • 具有动态大小的 Fortran 数组,与 R 函数 seq() 一样简单

    我想编写像 R 函数 seq 一样工作的 Fortran 代码 例如 x lt seq 0 1 0 1 将给出向量 x lt c 0 0 1 0 2 1 我将运行几次模拟 序列的长度将发生变化 在 R 中 这很容易完成 只需改变 seq 中
  • 如何确保仅当单击按钮时它才重定向到特定网址 javascript

    所以我以某种方式构建了它将总计从结账页面转移到索引页面 在本例中是付款页面 但这是一个问题 当进入结帐页面时它会自动转到索引页面 但我希望它仅在按钮打开时才这样做单击 我尝试使用 addEventListener 执行某些操作 但它只是在i
  • 粘性表格标题

    我正在用这个plugin在我的中实现粘性表头Table 实际上 就像在插件示例和我的页面中一样 表头在表中的最后一行稍后消失 我希望我的表头在最后一行消失时消失 有机会实现这一点吗 这是一个工作示例 fiddle 我所改变的只是这一行的结尾
  • 简单赋值时不输出期望值

    当我将一些值分配给具有四位的变量时 当我简单地输出该值时 我会得到意想不到的结果 我以前从未见过这个 想知道我是否在语法上做错了什么 module main reg 3 0 x initial begin monitor b x x 001
  • Boot2Docker(在 Windows 上)使用共享文件夹运行 Mongo(不支持此文件系统)

    我正在尝试使用 Boot2Docker 在 Windows 上使用共享文件夹启动 Mongo 容器 开始使用时run it v c Users 310145787 Desktop mongo data db mongo我在容器内收到一条警告
  • 谷歌数据流写入bigquery表性能

    我将处理数据和输出的性能与 Bigquery 表和文件进行了比较 差异显着 输入 约 600 个文件中的 150 万条记录 转换 构造 转换每个记录中的一些字段 构造一个键并发出键 值对 最终每个键的记录都会到达一个目标 一个文件或一张表
  • 将元素从一个 div 内部拖动到另一个 div 中

    我希望能够将一个元素从一个 div 内部拖动到另一个 div 中 jQuery用户界面可拖动的 and 可丢弃的 但他们似乎只是在视觉上操纵元素 使用position relative而不通过 DOM 移动它们 如果可以的话 我似乎找不到例
  • 如何在 .NET 中获取绝对或标准化文件路径?

    如何以最小的努力 如果可能的话 使用一些现有的设施 转换路径 例如c aaa bbb ccc to c aaa ccc 我会这样写 public static string NormalizePath string path return
  • 与自我绑定的窗口?

    我试图将窗口的数据上下文设置为自身 但我无法弄清楚语法应该是什么
  • 向 SpringBootTest 添加配置类会破坏组件扫描

    我正在尝试禁用真正的 Mongo 连接并在测试中将其替换为 Fongo 模拟 这是我的测试课 SpringBootTest RunWith SpringRunner class public class ControllerTest Aut
  • 在提交表单之前将复选框值合并到字符串中

    我正在将表单发送到我访问权限有限的外部服务器 我有一个表单 其中包含用户感兴趣的不同产品的许多复选框 我需要以单个字符串形式发送这些复选框 其中列出了他们检查的所有产品 我知道我需要使用 JavaScript 来捕获选择并将它们组合成一个变
  • Realitykit 功能在 ios 13.4.1 上崩溃,但在 15.2 上运行

    我有一个部署目标为 10 的项目 其 Realitykit 功能仅出现在 ios 13 设备上 问题是它在 ios 15 2 的真实设备中成功运行 但在 ios 13 4 1 中崩溃并出现错误 实例化缺少弱链接祖先的类的类元数据 avail
  • jOOQ“EXTRACT(EPOCH FROM [field])”解决方法?

    有一种语法允许将时间戳转换为各种日期部分 包括 unix 纪元 其工作原理如下 至少在最新的 PostgreSQL 中 SELECT EXTRACT EPOCH FROM ts FROM 然而 jOOQ 似乎不支持这种语法 如下所示这次讨论
  • hunchentoot 使用 ssl 定义-easy-handler?

    我一直使用define easy handler 我现在有一个新创建的 ssl 证书和关联的 pem 文件 但无法弄清楚 d e h 的 ssl 等效项是什么 例如 我有 hunchentoot define easy handler lo
  • C 中的免费二维数组

    当我遇到以下示例时 我正在解决一些简单的指针练习 void deallocate2D int array int nrows deallocate each row int i for i 0 i lt nrows i free array
  • 与可为空值的 SQL 相等/不相等比较

    首先采取 拼凑解决方案 哨兵方法 您的程序必须不允许输入哨兵值 select coalesce a 2147483648 coalesce b 2147483648 as is equal a little postgresism 假设您忘