mysql:当条件为on的列具有空值时,选择查询

mysql:当条件为on的列具有空值时,选择查询,mysql,null,conditional-statements,Mysql,Null,Conditional Statements,这是我的示例表: CREATE TABLE test( name VARCHAR(35), age INT(3)) 还有一些价值观: insert into test values ('alex', 13); insert into test values ('dan', 17); insert into test (name) values ('pete'); insert into test (name) values ('david'); 当我在“年龄”列上使用带条件的SELECT查询

这是我的示例表:

CREATE TABLE test(
name VARCHAR(35),
age INT(3))
还有一些价值观:

insert into test values ('alex', 13);
insert into test values ('dan', 17);
insert into test (name) values ('pete');
insert into test (name) values ('david');
当我在“年龄”列上使用带条件的SELECT查询时:

select * from test where age!=13;
我得到的结果是:

+------+------+
| name | age  |
+------+------+
| dan  |   17 |
+------+------+
但我要所有的唱片都随年龄增长=13其中包括年龄为空的记录:

+-------+------+
| name  | age  |
+-------+------+
| dan   |   17 |
| pete  | NULL |
| david | NULL |
+-------+------+
我怎样才能得到我想要的?谢谢您的回复。

试试这个

     select * from test where age !=13  or age is NULL;

请记住,NULL实际上不是一个值,而是更像一个状态
NULL=NULL
始终为false,因为
NULL!=空
。无论您如何使用
NULL
都将始终为false。所以当它计算
age!=13
NULL!=13
,预期的行为是不显示行。

您是否给出了新的答案或只是重复了我的答案?你是抄袭过去的医生吗?@echo\u Me你通过抄袭粘贴我的答案更新了你的答案。你也是复印粘贴方面的医生吗?我没有复印粘贴我把
=
改成
SELECT * FROM test WHERE age!=13 OR age IS NULL;