计算机,数据库中,'' 和null区别为:性质不同、占用空间不同、拼接组合不同。
一、性质不同
1、'':''是空字符串,是一个已经实例化的数据对象。
2、null:null是空值,不是一个实例化的数据对象。
二、占用空间不同
1、'':''分配了空间,占用1个字节长度的空间。
2、null:null没有分配空间,占用0个字节长度的空间。
三、拼接组合不同
1、'':''可以和其他同数据类型的数据对象进行拼接组合。
2、null:null不可以和其他同数据类型的数据对象进行拼接组合。
null不是对象,''是对象
从'',你就可以知道这是一个字符串类型的数据,是一个长度为零的字符串。
从NULL,你只能知道这里没有赋过值,是空的,他不属于任何数据类型。
我们在数据库实际使用中,一般把字符串型变量默认为'',数值型变量默认为0,这样才能保正在进行逻辑运算时不产生类型不匹配的错误。
SQL SERVER中函数为:ISNULL(变量,值),
如
对于整型变量,这样去参加运算:
SET @VAR=1+ISNULL(整型变量,0)
对于字符型变量,这样去参加运算:
SET @VAR=ISNULL(字符型变量,'')
空 (NULL) 值表示数值未知。''不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串'' 也是一个确定的值,所以就算定义了 NOT NULL 也可以被写入。