我对SQL中的NULL值感到困惑。我认为NULL是空的。
那么它会包含任何垃圾值或未知值,还是像整数中的0或字符中的空白一样?
我对SQL中的NULL值感到困惑。我认为NULL是空的。
那么它会包含任何垃圾值或未知值,还是像整数中的0或字符中的空白一样?
'String ' || NULL || 'Concatenation' -- Result is NULL
你可以将Null理解为“不适用”或“未知”:它不同于零(0)或任何其他默认值,但更重要的是,在SQL中,null与其他值的处理方式非常不同,因为它没有实际值。
下面是一个示例来解释我们所说的NULL意味着未知值:
StudentName TestResult
X 78
A 89
B 67
C NULL
从这里可以看出,学生C在考试中得到了空分数。那么这意味着什么?
现在可以说学生没有参加考试,也可能是学生的数据不可用。但它绝对不意味着学生在考试中得到了0分(如果您将0分配给学生,则意味着学生参加了考试并得到了零分)。我们只能说学生的数据是
带有NULL值的字段是没有值的字段。非常重要的是理解,NULL值与零值或包含空格的字段是不同的。
如果表中的某一列是可选的,我们可以在不向该列添加值的情况下插入新记录或更新现有记录。这意味着该字段将保存为NULL值。
NULL值与其他值的处理方式不同。
NULL用作未知或不适用的值的占位符。 在此处了解更多信息。