SQL 未知与 NULL 相同吗?

2024-01-07

我很困惑 UNKNOWN 在 SQL 中的三值逻辑中意味着什么。它实际上意味着 NULL 吗? NULL 和 UNKNOWN 在所有布尔上下文中是否可以互换?


简单回答:

3 == 2 => FALSE
3 == 3 => TRUE
NULL == 3 => UNKNOWN
3 == NULL => UNKNOWN
NULL == NULL => UNKNOWN

表达与NULL任一侧或两侧的计算结果为UNKNOWN.

例如,如果您有一张桌子:

Employees(id, country)
1, USA
2, USA
3, Canada
4, NULL

假设您的老板要求您选择所有不住在美国的员工。你写:

select * from Employees
where country <> 'USA'

and get:

3, Canada

为什么不选择4?因为在WHERE子句仅返回表达式计算结果为的行TRUE:

1. USA <> 'USA' => FALSE -- don't return this row
2. USA <> 'USA' => FALSE -- don't return this row
3. CANADA <> 'USA' => TRUE -- return this row
4. NULL <> 'USA' => UNKNOWN -- don't return this row

它不仅仅是为了平等或不平等。对于任何谓词 https://msdn.microsoft.com/en-us/library/ms189523.aspx

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

SQL 未知与 NULL 相同吗? 的相关文章

  • 如何在 SQL 中存储目标(例如 RPG Quest)

    今天有人问我他们应该如何将任务目标存储在 SQL 数据库中 在这种情况下 请考虑角色扮演游戏 目标可能包括以下一些内容 发现 地点 杀死 n MOB 类型 获取 对象 的 n 个 实现 技能组 中的 技能 你在角色扮演游戏中获得的所有其他东
  • MYSQL 查询 WHERE IN 与 OR

    我开发了一个使用 OR 查询的系统 SELECT FROM tableA JOIN tableB ON idA idB WHERE idA 1 OR idA 2 OR idA 3 OR idA 4 OR idA 5 OR idA 100 与
  • 什么时候应该使用 XML 而不是 SQL? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 有很多数据库视图可以吗?

    我很少 每月 每季度 使用 Microsoft SQL Server 2005 数据库视图生成数百份 Crystal Reports 报告 在我不读取这些视图的所有时间里 这些视图是否会浪费 CPU 周期和 RAM 因为我很少从视图中读取数
  • 实体框架 - 查询可为空列时出现问题

    我在从具有可为空的tinyint 列的表中查询数据时遇到问题 问题似乎是查询生成为 AND CAST Extent1 PositionEffect AS int p linq 3 gt p linq 3 NULL 如果我手动运行该查询 它不
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • mysql 在 sum() 函数上使用 concat,例如 concat(sum(col1),"%")

    我正在尝试合并多个查询 但其中一个查询使用 sum 当我尝试在此列上应用 concat 时 我得到不需要的 blob 结果 我如何在聚合列上应用 concat 和 union 我期待这个结果 SELECT row 1 col1 UNION
  • SQL如何将两个日期之间一小时内的事件相加并显示在一行中

    我正在使用 C 和 SQL Server 2005 开发一份报告 我只需显示我们每小时获得的点击次数 桌子很大 输出应如下所示 Row Date Time Hit Count 1 07 05 2012 8 00 3 2 07 05 2012
  • SQL Server:触发器如何读取插入、更新、删除的值

    我在一张表中有触发器并且想阅读UserId插入 更新或删除行时的值 怎么做 下面的代码不起作用 我收到错误UPDATED ALTER TRIGGER dbo UpdateUserCreditsLeft ON dbo Order AFTER
  • 如何在sql server中对行号进行内连接

    SQL Server 2008 两张表 表A有以下数据 RowA RowB RowC RowD 表B有以下数据 Row4 Row3 Row2 Row1 我想得到以下输出 RowA Row1 RowB Row2 RowC Row3 RowD
  • SQLite 自然连接损坏?

    我刚刚开始了解 NATURAL JOIN 而 SQLite 的行为并不像我预期的那样 SELECT FROM r1 NATURAL JOIN r2 NATURAL JOIN r3 and SELECT FROM r1 NATURAL JOI
  • mysql LIKE 查询时间太长

    SQL SELECT COUNT usr id as total results FROM users as usr LEFT JOIN profile as prof ON prof uid usr uid WHERE usr usern
  • 在 Access 数据库中对列包含数字和字母的数据进行排序

    请帮助我 因为我一直无法做到这一点 选择此列 columnA 的访问 SQL 是什么 以便它返回一个结果集 其中的不同值首先根据数字排序 然后根据字母排序 这是列值 10A 9C 12D 11G 9B 10C 9R 8T 我尝试过 从 tb
  • 如何从 SQL Server 中的 SELECT 进行更新?

    In SQL服务器 可以将行插入到带有INSERT SELECT陈述 INSERT INTO Table col1 col2 col3 SELECT col1 col2 col3 FROM other table WHERE sql coo
  • 数据库级别的别名列名 [MySQL]

    别名 可能是错误的词 因为它是在将列 表名称作为查询中的其他名称引用的上下文中使用的 我感兴趣的是是否有一种方法可以在数据库中为列指定两个名称 如果我要打印这样的表格 它看起来会是这样的 mysql gt SELECT FROM User
  • postgresql 中的锁定表

    我有一个名为 games 其中包含一个名为 title 该列是唯一的 数据库中使用PostgreSQL 我有一个用户输入表单 允许他插入新的 game in games 桌子 插入新游戏的功能会检查之前输入的游戏是否存在 game 与相同的
  • 如何使用sql脚本更改列的属性

    如何使用 sql 脚本更改列的属性 这是我尝试过但出现错误的方法 ALTER TABLE dbo tblBiometricPattern COLUMN BiometricPatternID TINYINT NOT NULL IDENTITY
  • 如何在事务中使用链接服务器插入远程表?

    我的链接服务器设置正确 我能够执行以下查询 插入 远程服务器 表 SELECT FROM 本地服务器 表 然而当我做同样的事情时交易内 开始传输 插入 远程服务器 表 SELECT FROM 本地服务器 表 提交交易 我收到类似的错误 用于
  • 原则 2 OneToMany 级联 SET NULL

    错误 无法删除或更新父行 外键约束失败 课程 class Teacher ORM OneToMany targetEntity publication mappedBy teacher protected publications clas
  • Oracle - 获取星期几

    今天是星期二 为什么当我运行这个 SQL 语句时 它说今天不是星期二 SELECT CASE WHEN TO CHAR sysdate Day Tuesday THEN Its Tuesday ELSE Its Not Tuesday EN

随机推荐

  • 将字符串数组转换为 TypeScript 类型

    假设我有一个字符串数组 const s foo rolo zoombaz 所以我会得到 type v foo string rolo string zoombaz string 奖金 理想情况下 我希望将它们映射到驼峰式大小写 所以如果我有
  • 关于依赖共享的 Maven 多模块项目组合

    有几个类似的问题 但没有这样的 您如何处理这种情况 典型场景 一个由 8 11 个子项目组成的项目 具有一个父工件 项目和一个主要使用 声明其他项目作为模块的主项目 问题是所有项目 严格 只共享共同的依赖关系 例如testng loggin
  • WebStorm/PhpStorm 对 jsx 中的 React 属性(如 className)发出警告

    我无法删除反应代码中的以下警告 属性className这里是不允许的 PhpStorm 中的警告 未知的 HTML 标记属性无法设置为驼峰式 仅保存小写字母 并且关闭该复选框没有帮助 设置在Languages Frameworks gt J
  • Java基于枚举类型创建对象的方法

    我的班级是这样的 class X class Y extends X class Z extends X 我有每个子类 id class 的枚举 enum Type Y TYPE 1 Y class Z TYPE 2 Z class int
  • 基于 ASP .NET MVC 3 的 Facebook 应用程序:使用默认模型绑定器解析查询字符串数组?

    简而言之 在用户使用 fb request form 控件选择好友后 Facebook 向我的 MVC 3 应用程序传递以下查询字符串 我假设默认模型绑定器会解析查询字符串中的 ids 数组 并将其绑定到以下操作中的 ids 参数 publ
  • JSON.stringify 在我的 Json 对象中添加额外的 \ 和 "" 时出现问题

    您好 我正在使用 Javascript 创建一个带有键和值的对象数组 使用以下代码 ValuesArray push key this attr someattribute value this val 结果我有一个像这样的对象数组 key
  • Rails - 更新单个属性:与自定义操作或带有隐藏字段的表单链接?

    假设我有一个 User 模型 其中 facebook uid 字段对应于用户的 facebook id 我想允许用户取消其 Facebook 帐户的链接 这样做 我需要将此属性设置为零 我目前看到有两种方法可以做到这一点 第一种方法 创建自
  • Magic Suggest - 从 MVC 模型中预先选择多个项目

    我正在寻找一种用多个值填充 Magic Suggest 控件的方法 我正在使用 ASP NET MVC 并希望根据模型中的属性设置这些值 Part 1 Magic 建议支持多个值 A相关问题 https stackoverflow com
  • 单击 jquery 中的单选按钮时显示动态价格的总和

    我的一个与旅游网站相关的项目的处境非常糟糕 我不知道如何计算每位乘客首选房型的总金额 我的数据库中有两名乘客的记录 1 玛吉2 以斯帖 每位乘客的默认价格为 125000 如果用户点击选择自己的房型 则所选乘客的价格为 150000 这是我
  • 如何读取/打印(_io.TextIOWrapper)数据?

    使用以下代码 我想 gt 打开一个文件 gt 读取内容并删除不需要的行 gt 然后将数据写入文件并读取文件以进行下游分析 with open chr2 head25 gtf r as f open test output txt w as
  • 使用 coord_polar() 进行“缩放”/“缩放”

    我有一个使用 geom smooth 的极坐标图 平滑的黄土线非常小 围绕着地块的中心 我想 放大 这样你就能看得更清楚 使用类似的东西scale y continuous limits c 05 7 将使 geom smooth 环变大
  • 如何指定颜色条范围并保持它而不考虑绘图值

    我昨晚打了这个 然后当我准备提交它时我想通了 提交以防其他人需要 我正在底图上绘制多天每小时的气象值 我想为每张地图始终保留相同的颜色条值 假设每个图的范围是 0 10 有时这些值都非常接近于零 而另一些则介于 0 10 之间 for fi
  • 在 Windows Phone 中拖放

    我正在尝试实现拖放功能来排列列表框的内容 我能够拖动该项目 当我尝试将第二个项目拖动到第一个项目时 它会出现在第一个项目上方 但是当我尝试将第一个项目拖动到第二个项目时 第一个项目会出现在第二个项目下方 我也无法赶上掉落 以便我可以安排物品
  • 缩放至适合:嵌入 HTML 中的 PDF

    我正在将本地 pdf 文件嵌入到一个简单的网页中 并且希望设置初始缩放以适合对象大小 这是我尝试过的 但它不影响缩放 有谁知道如何修改代码 以便将其初始缩放设置为适合对象大小 回复有点晚了 但我注意到这些信息很难找到 而且还没有找到答案 所
  • 为什么 scipy 的稀疏 csr_matrix 的向量点积比 numpy 的密集数组慢?

    我遇到一种情况 我需要从稀疏矩阵中提取一行 并用密集行获取其点积 使用 scipy 的 csr matrix 这似乎比使用 numpy 的密集数组乘法慢得多 这让我感到惊讶 因为我预计稀疏点积将涉及更少的操作 这是一个例子 import t
  • 如何在react-router中创建锚标记?

    我在内部使用react boilerplate 3 4 0 和react router来进行路由 我尝试创建一个链接 当我点击它时 我希望滚动到 divid anchor tag 即使我使用 Link 组件而不是 标记 它也只是滚动到页面顶
  • Symfony 3.0.4 使用 FOSRestBundle 序列化期间检测到循环引用

    我在 Symfony 项目中使用 FOSRestBundle 当我尝试处理视图时 在使用 Symfony 序列化器和 JMSSerializer 序列化数据期间失败 这是呈现响应的方法 默认控制器 php em this gt getDoc
  • 将数据写入一行

    我将数据写入 csv 文件 格式如下 789 255 25 33 0 855 275 25 33 0 我希望将其转换为如下格式 1 789 255 25 33 0 2 855 275 25 33 0 所以我想要的就是将列表中的元组转换为一个
  • 创建 WCF Web 服务时出错

    我创建了一个新的 WCF Web 服务 但是当我尝试运行它时 出现此错误 未生成任何代码 如果您尝试生成客户端 这可能是因为元数据文档不包含任何有效的合同或服务 或者因为发现所有合同 服务都存在于 reference 程序集中 验证是否已将
  • SQL 未知与 NULL 相同吗?

    我很困惑 UNKNOWN 在 SQL 中的三值逻辑中意味着什么 它实际上意味着 NULL 吗 NULL 和 UNKNOWN 在所有布尔上下文中是否可以互换 简单回答 3 2 gt FALSE 3 3 gt TRUE NULL 3 gt UN