gpt4 book ai didi

sql - 号码不正确在 SQL 中获取的行数

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:11 24 4
gpt4 key购买 nike

请考虑一个名为 Employee 的表,其中包含以下两列:

  1. EmpId - Number(12)
  2. EmpType - Varchar2(2 字节)

EmpType 有两个有效值,ES 或 NULL。

当我触发下面的查询时,我得到 100 行

select * from Employee;

下面的查询给了我 60 行:

select * from Employee where EmpType = 'ES'

同时 select * from Employee where EmpType <> 'ES ' 给我 0 行。

为什么会这样?我应该得到 40 行,其中 EmpType 不是 ES。

我正在研究 Oracle Sql DB。

最佳答案

Null 不等于任何东西,甚至不等于另一个 null。所以说不等于ES,null就是不等于ES。如果你明白我的意思。

因此,要获得所需的值,您需要 is null

select * from Employee where EmpType is null

handling null values 上查看这篇文章

编辑:如@Allan 所述,在 Oracle 中,空字符串等同于 null。

关于sql - 号码不正确在 SQL 中获取的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27109786/

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