【你也能从零基础学会网站开发】浅谈一下SQL Server 2000中的NULL值到底有什么用处

🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

NULL 是什么

SQL Server 2000中,NULL值是一个特殊的存在,它用来表示缺失未知的数据!

也就是说NULL在我们数据库中, 一般是代表被遗漏的未知数据!

它的作用为是让未知的不适用的信息值的占位符

那具体什么叫未知、和缺失呢? 接下来我们就来详细的说明一下!

NULL值的含义

NULL值表示某个字段的值是未知或者缺失的,

但是要注意的是这与空字符串("")零值(0)是不同的,空字符串值都是具体的值, 而NULL则表示没有值!

我们在默认情况下,是可以给表的字段存放 NULL 值, 但是这里就要牵扯到两个情况了

  1. 对于变长记录, 例如varchar类型,NULL值不占用存储空间, 但对于定长记录, 例如char类型, NULL值会占用一定的存储空间

  2. 字段中的NULL值, 我们是无法使用比较运算符来进行过滤 NULL 值,比如 =, <, 或者 <>, 也就是说NULL值不能与任何其他值(包括它自身)进行直接比较, 例如: 我们不能使用等于(=)不等于(<>)运算符来检查一个字段的值是否为NULL, 相反需要使用IS NULLIS NOT NULL运算符。

具体我们下面举例说明!

NULL值的实际应用场景

一般情况下, 当一个表中的某个字段是可选的时, 也就是说可以在不向这个字段添加值的情况下插入录或更新记录某条记录, 那么这时候这个字段可以保存为一个NULL值

举个栗子

一个用户信息表中,如果用户没有提供电话号码,那么电话号码这个字段就可以是NULL, 当然前提条件是我们开发的时候,约束上是允许的情况下!

也可以作为一个占位符来使用, 也就是用作未知不适用的值占位符

举个栗子

在一个销售记录表中,如果某个订单没有指定销售员,那么销售员字段的值就可以是NULL

那么字段中保存了这种NULL的好处是什么呢? 肯定是有利于我们在后期检索的时候,进行数据的过滤!

假设我们有一个名为Orders订单表,表结的构如下:

 CREATE TABLE Orders (  
    OrderID INT PRIMARY KEY IDENTITY,  //订单ID
    CustomerName VARCHAR(50),         //客户名称
    OrderDate DATETIME,  			  //订单日期
    Salesperson VARCHAR(50)          //销售员
);

我们打开SQL Server 2000 查询分析器执行一下!

如图

现在,我们插入一些数据到这个表中, 如下:

INSERT INTO Orders (CustomerName, OrderDate, Salesperson)  VALUES ('Alice', '2023-10-01', 'John');  
INSERT INTO Orders (CustomerName, OrderDate, Salesperson)  VALUES ('Aya', '2024-10-17', 'John');  
INSERT INTO Orders (CustomerName, OrderDate)  VALUES ('Bob', '2023-10-02'); 

上面我们没有给Salesperson字段提供值,所以默认为NULL

如图

我们可以简单的查看一下

如图

那这样搞一个NULL进去之后,这么来使用呢?

我们平常主要是用它来进行过滤出外面想要的数据信息,但是前面我说过了, NULL是不能使用等于(=)不等于(<>)运算符来检查一个字段的值是否为NULL,

必须要使用IS NULLIS NOT NULL运算符!

那么我们下面就来简单的使用一下IS NULLIS NOT NULL运算符来查询包含NULL值的记录, 不会SQL查询的朋友也没关系,这里大致看一下即可,后面马上回讲到!

比如: 查询没有指定销售员的订单

SELECT * FROM Orders WHERE Salesperson IS NULL

如图

比如: 查询指定了销售员的订单

SELECT * FROM Orders WHERE Salesperson IS NOT NULL;

如图


这里我们的查询分别返回了包含NULL值和不包含NULL值Salesperson字段的记录, 有助于我们过滤和区别信息!

注意

可能有些朋友不知道, 当NULL值参与运算时,结果通常是NULL 我这里说的运算就是普通的算术运算!

举个栗子

select 100 + null;

如图


同理, 加减乘除运算的结果都是NULL, 在实际开发中要注意一下!

另外有些函数会特殊处理NULL值, 比如ISNULL函数可以用来将NULL值替换为一个指定的值, 具体我们后面详谈!~

今天就暂时说到这里~ 大家886 🤗🤗🤗

"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚

更多好玩 好用 好看的干货教程可以点击下方关注❤️微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值