(3.5)常用知识-NULL与零长度、字符串尾部填充空格
概述:NULL与零长度是不同的,NULL表示数据未知或不可用,它是与零(数值或2进制)、零长度字符串不
同的一种值,也可以理解为一种状态。
即可以理解为:所有的变量都有2种状态,一种有值,一种为NULL,为NULL其内容是不可测的。
1.比较NULL值
(1)算数运算均为NULL,因为这是一个未知的因子,结果肯定为未知
(2)比较运算均不满足
2.字符串尾部填充空格
对于类型为char的变量:当赋予非NULL值时,若使用长度小于定义长度,则会在值的后面自动填充空格,使其达到定义长度。
对于类型为varchar的变量:当赋予非NULL值时,若使用长度小于定义长度,不会自动填充空格,如果赋予的值末尾有空格,则空格不会被截取掉。
使用时:char在存储时会在尾部对应填充空格,但在比较或者用Len计算时,会忽略字符串尾部空格。但做like的时候,填充空格与不填充空格两个值并不匹配。