MySQL 关于NULL值的使用

MySQL中 null值是一个特别的存在,他不能使用比较运算符例如  <  ,=, >  等,这是官方给的解释,下面我们使用navicat操作就一目了然

 这是我们查询的语句,下面是结果

可以看出null值参与运算后结果都是null,

官方对于布尔运算值的描述是这样的:在MySQL中 0或null代表false,任何其他值都是true(在where测试中数字其他值都代表true),布尔运算的默认真值是1;

 

在GROUP BY中根据列值对结果进行分组,如果列的值为NULL,两个NULL值将会被分在一组,下面我们做个测试。

这是测试表,然后我们使用GROUP BY对APPLY_ID进行分组

下面是结果;

可以看出applyid中两个null值被分为一组;

 

null值对排序的影响

如果根据排序条件的列进行排序,那么使用order by desc NULL值将会被最后展示,如果根据ASC排序,那么null值将会首先被展示,

 下面是我们测试的例子

 SELECT * FROM w_notice ORDER BY apply_id DESC;

SELECT * FROM w_notice ORDER BY apply_id ASC;

如果两个值相等是怎么排序这个暂时还没了解,如果知道的可以在下面评论告诉我

 

 

 

0和'  '不是NULL   可以插入到NOT NULL定义的列中,下面我们做个查询就知道了

SELECT 0 IS NULL ,0 IS NOT NULL,'' IS NULL,'' IS NOT NULL;

可以看出0不是NULL,''也不是NULL;

 

posted @ 2022-05-28 14:46  白菜豆腐粉丝汤  阅读(389)  评论(0)    收藏  举报