接下来。装逼开始....
NULL不是0,是不能进行比较的
NULL也可以理解是一个未知数的占位符
mysql> select * from test_class;
+----------+--------------+
| class_id | class_name |
+----------+--------------+
| 1 | 初一(1)班 |
| 2 | 初一(2)班 |
| 3 | 初一(3)班 |
| 4 | 初一(4)班 |
| 5 | 初二(1)班 |
| 6 | 初二(2)班 |
| 7 | 初二(3)班 |
| 8 | 初二(4)班 |
| 9 | 初三(1)班 |
| 10 | 初三(2)班 |
| 11 | 初三(3)班 |
| 12 | 初三(4)班 |
| 13 | NULL |
+----------+--------------+
13 rows in set (0.00 sec)
NULL值是无法使用比较运算法来操作的,比如:=、<、> 或 <>
针对NULL值,必须使用 IS NULL 和 IS NOT NULL 操作...
查询带有NUL值的数据信息
mysql> select * from test_class where class_name is null;
+----------+------------+
| class_id | class_name |
+----------+------------+
| 13 | NULL |
+----------+------------+
1 row in set (0.00 sec)
查询非NULL值的数据信息
mysql> select * from test_class where class_name is not null;
+----------+--------------+
| class_id | class_name |
+----------+--------------+
| 1 | 初一(1)班 |
| 2 | 初一(2)班 |
| 3 | 初二(1)班 |
| 4 | 初二(2)班 |
| 5 | 初三(1)班 |
| 6 | 初三(2)班 |
+----------+--------------+
12 rows in set (0.00 sec)
当然也可以使用IFNULL进行判断,class_name非空则显示class_name名称,class_name为空则显示为0 ...
mysql> SELECT class_id, IFNULL(class_name, 0) FROM test_class;
+----------+-------------------------+
| class_id | (IFNULL(class_name, 0)) |
+----------+-------------------------+
| 1 | 初一(1)班 |
| 2 | 初一(2)班 |
| 3 | 初二(1)班 |
| 4 | 初二(2)班 |
| 5 | 初三(1)班 |
| 6 | 初三(2)班 |
| 7 | 0 |
+----------+-------------------------+
13 rows in set (0.00 sec)
或者是COALESCE进行判断,其效果同IFNULL一致...
mysql> SELECT class_id, COALESCE(class_name, 0) FROM test_class;
+----------+---------------------------+
| class_id | (COALESCE(class_name, 0)) |
+----------+---------------------------+
| 1 | 初一(1)班 |
| 2 | 初一(2)班 |
| 3 | 初二(1)班 |
| 4 | 初二(2)班 |
| 5 | 初三(1)班 |
| 6 | 初三(2)班 |
| 7 | 0 |
+----------+---------------------------+
13 rows in set (0.00 sec)
至此,mysql中NULL值处理完成...
Python脚本运行SQL语句到此也告一段落了,后面也会有SQL知识补充;接下来会整理接口自动化的文章,感谢支持...
以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,直接私信留言会及时修正发布;感觉还不错记得点赞呦,谢谢!
未完,待续…
一直都在努力,希望您也是!
微信搜索公众号:就用python
