空值(NULL)的长度是NULL,不确定占用了多少存储空间,但是占用存储空间的
就像是一个装满空气的杯子,含有东西。
空字符串(' ')的长度是0,是不占用空间的
就像是一个真空转态杯子,什么都没有。
区别:
在进行count()统计某列时候,如果用null值系统会自动忽略掉,但是空字符会进行统计。
不过count(*)会被优化,直接返回总行数,包括null值。
判断null用is null或is not null,SQL可以使用ifnull()函数进行处理;判断空字符用=''或者!=''进行处理。
对于timestamp数据类型,插入null值会是当前系统时间;插入空字符,则出现0000-00-00 00:00:00