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;
本文来自博客园,作者:白菜豆腐粉丝汤,转载请注明原文链接:https://www.cnblogs.com/v178286621/p/16320664.html

浙公网安备 33010602011771号