Java开发者-易混/乱-知识点
一、数据库
概念混淆
1-NULL和空的区别
- 含义
(1)NULL是一个关键字: - 表示“没有对(列)变量输入数据”的情况。 (2)输入空字符串: - 表示“有对(列)变量输入数据”的情况,即有输入数据,只是,输入的数据为空字符串。
- 区分
(1)长度
- null长度就是NULL,空字符串的长度为0;
(2)排序
- 一串NULL数据 比 空字符串 ,优先排序;
(3)统计
- COUNT(message),会将空字符串计数进去,但是,不会将NULL数据计入;
(4)检索
- 可以使用绑定变量来搜索某个空字符串,但不可以这样搜索null:
sql SELECT * FROM myTable WHERE myText = ?
- 匹配NULL的方法只能使用关键字 IS NULL:
sql SELECT * FROM myTable WHERE myText IS NULL
SELECT * FROM myTable WHERE myText = ?;
SELECT * FROM myTable WHERE myText IS NULL;