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

MYSQL语法不评估不等于存在NULL

胡利
2023-03-14
问题内容

我在使用mysql查询时遇到问题。我想排除2的值。所以我想我会做以下事情:

table products

id | name     | backorder
-------------------
1  | product1 | NULL
2  | product2 | NULL
3  | product3 | 2

SELECT name from `products` p
WHERE backorder <> '2'

但是,这没有给出product1,product 2的期望结果,而是给出了一个空的结果表。

另一方面,如果我使用

SELECT name from `products` p
WHERE backorder = '2'

然后产生:product3。但是我想获得那些不等于的记录2

某些功能无法使用<> '2'。可能是NULL价值观把它扔掉了吗?任何人都可以提出修复建议。

提前致谢!


问题答案:

使用IS NULLIS NOT NULL比较NULL值,因为它们是完全未知的。

SELECT name 
from   products p
WHERE  backorder IS NULL OR backorder <> 2
  • SQLFiddle演示
  • SQLFiddle演示( 添加了一些记录

  • 使用NULL值



 类似资料:
  • 问题内容: 我在使用python eval函数执行多行字符串时遇到问题/ 问题答案: 只能评估Python 表达式 ,不能评估语句。函数定义是语句,而不是表达式。 使用执行Python语句。 请参阅“ 顶层组件” 文档 ,该文档在 文件输入 和 表达式输入 之间进行区分(其中包括): 在以下情况下使用此语法: […] 解析传递给该语句的字符串时; 和 […]的字符串参数必须具有以下形式: 千万 不

  • 我正在使用NPOI从Excel2003文件中读取数据。这些文件包含如下公式('1:2'!$C$17)。NPOI识别像SUM('1'!$C$17)这样的公式(W/O表2),并计算无效的结果。我使用的是NPOI示例中的常规代码,比如

  • 问题内容: 我有一个在Tomcat 5.5上运行的JSP页面。我有以下代码: 我得到的输出是: 我无法弄清楚为什么forEach循环有效,但输出无效。任何人可能提供的任何帮助都将是巨大的。 问题答案: 我知道默认情况下应该启用它,但是我一次又一次地跨页面(甚至是更改行为的同一页面)运行EL处理不会发生的页面。将以下内容添加到任何此类页面的顶部应可解决此问题: 我将它添加到每个页面中,因为它不会造成

  • 我在查询两个Oracle数据库时遇到问题。 查询是: (NULL实际上是一个参数,传递给查询,查询可能为空,所以我缩短了查询)。 在生产数据库上,它工作正常,响应为NULL。 在dev DB上,我发现了一个错误,即TRUNC不能应用于NUMBER,需要DATE(ORA-00932)。 显然,生产数据库跳过了OR之后条件中的所有内容,开发人员执行OR之后的部分。 我确实知道通过将CAST(MY_PA

  • 问题内容: 我正在做一个简单的游戏,您在屏幕上移动一个球,并尝试避免屏幕上出现其他障碍。 我遇到的问题是,当我尝试评估您是否接触另一个块时,无论我的布尔值等于什么,我的if语句总是返回第一个结果。这是我评估陈述的方法 这是发送 sect 布尔值的代码部分: 这是完整的代码: 请告诉我我在做什么错!!! 谢谢! 问题答案: 你需要 代替 甚至 更好的 办法是使用

  • 本文向大家介绍Python用exec评估语句,包括了Python用exec评估语句的使用技巧和注意事项,需要的朋友参考一下 示例