mysql - 因为我不能在 Mysql 的 SELECT 中使用“<> Null”?
问题描述
我正在做一个项目,我想知道使用is not null
或<> null
在 Mysql 中的区别。
为什么我们要使用IS NOT NULL
而不是<> NULL
?因为当我在第二种情况下这样做时,没有找到结果。
例子
从名称不为 NULL 的表中选择 *;
select * from table where name <> NUll;
解决方案
来自https://dev.mysql.com/doc/refman/8.0/en/problems-with-null.html:
在 SQL 中,与任何其他值相比,NULL 值永远不会为真,即使是 NULL。包含 NULL 的表达式始终生成 NULL 值,除非文档中针对表达式中涉及的运算符和函数另有说明。
NULL
值表示缺失的未知数据。
并且NULL
值的处理方式与其他值不同。
对于NULL
带有比较运算符的值,例如=
, <
, 或<>
是不可能测试的。
是规矩。因此,您只能使用IS NULL
orIS NOT NULL
运算符。
推荐阅读
- rsync - 来自指定服务器目录的 Rsync 特定列出的文件
- if-statement - 在 Power BI 中将时间格式更改为 30 分钟间隔
- c - 关于 pwd.c 文件的 SIGSEGV 分段错误?
- javascript - 如何将滚动添加到 div?
- r - 如何使用 R 编程语言在 geom_line() 中(自动)更改颜色
- sqlite - 通过命令行合并多个 Raster MBTiles(Sqlite 文件)
- ruby - 使用 ruby-install 在 Mac OSX Catalina 上安装 Ruby 2.2
- vue.js - 使用 XML2JS 从 Nuxt 中的 API 解析 XML
- bash - 如何将我的 USB 网络摄像头录制为 mp4 格式?
- postgresql-9.5 - 在几分钟内未显示正确的增量