SQL Server中的空值含义探索(sqlserver等于空)

SQL Server中的空值含义探索

SQL Server 是微软的关系型数据库管理系统(RDBMS)。一个表可以包含多个列,每一列接受一个唯一的值,当列没有值时,称为空值/空值即列没有任何值。本文将探讨 SQL Server 中的空值含义。

空值是 SQL Server 中最常见的问题之一,其表现形式有一下三种:NULL,DEFAULT和BLANK。

一般来说,NULL 意指没有值,此时的默认值就是空。NULL 具有如下特性:它不等于任何其他值(包括自身);当做条件时会被忽略;比较使用 “IS NULL”(而不是 “=”)。它的唯一用处是表示一个值不存在,例如我们还不知道一个产品的利润时,填写一个 “NULL”。

DEFAULT 含义类似于NULL,指一个列中没有定义任何值,但是可以设置它的默认值。如果一个列没有定义任何值,就可以使用 “DEFAULT” 关键字设置它的默认值。

BLANK 指某一列看起来有值,但空格或者其它不可见字符特殊符号填充,所以数据库系统也认为它是有值的,可以被 查询出来。它与NULL有所不同的是,它可以被记录,与 DEFAULT 不同的是,它不能通过 DEFAULT 关键字来定义。

下面为大家展示如何在 SQL Server 中创建包含 NULL、DEFAULT 和 BLANK 的表:

//创建表 
CREATE TABLE T1
(
ID int,
DateCreated Datetime NULL,
LastUpdatted Datetime DEFAULT GETDATE(),
Name Varchar(50) ''
);

上面的代码将创建一个名为T1的表,它有一个整型列ID,一个DateCreated列,一个LastUpdated列,一个Name列。其中,DateCreated列可以包含空值(NULL),LastUpdated列被设置为在每次更新时默认值是当前时间(DEFAULT GETDATE());而Name列由空格填充(‘’)。

总之,SQL Server中的空值有很多种形式,比如NULL、DEFAULT和BLANK。了解空值的含义对我们的SQL编程有重要意义,帮助我们更好地定义、存储和使用我们所需要的数据。


数据运维技术 » SQL Server中的空值含义探索(sqlserver等于空)