【SQLServer笔记】SQLServer数值类型的NULL性

与C#、java等编程语言不同,在SQLServer中,int等数值类型的初始值为NULL,并且可以直接使用赋值运算符赋值为NULL,同时值为NULL的变量无法在消息栏中显示其值,只能在结果栏中显示NULL。

同时由创建数据库时的选项,当字符数据以“+”连接值为NULL的变量时,会导致连接后的结果为NULL。

 1 DECLARE @ID INT;
 2 SET @ID=NULL;
 3 --以“+”链接NULL值与非NULL值后输出
 4 PRINT '第一次输出@ID开始'
 5 PRINT '当前@ID的值为:'+CONVERT(NVARCHAR(20),@ID)
 6 PRINT '第一次输出@ID完毕'
 7 --分开输出NULL值与非NULL值
 8 PRINT '第二次输出@ID开始'
 9 PRINT '当前@ID的值为:'
10 PRINT CONVERT(NVARCHAR(20),@ID)
11 PRINT '第二次输出@ID完毕'
12 --通过IF判断确定@ID是否为NULL
13 IF @ID IS NULL
14     BEGIN
15         SELECT @ID AS ID;
16         PRINT '当前@ID的值为:'+'NULL'
17     END
18 ELSE 
19     BEGIN
20         PRINT '当前@ID的值为:'+CONVERT(NVARCHAR(20),@ID)
21     END
22 PRINT '为@ID赋值为0'
23 --为@ID赋为非NULL值并输出
24 SET @ID = 0
25 PRINT '当前@ID的值为:'+CONVERT(NVARCHAR(20),@ID)
26 GO
示例代码

 

第一次输出@ID开始
 
第一次输出@ID完毕
第二次输出@ID开始
当前@ID的值为:
 
第二次输出@ID完毕

(1 行受影响)
当前@ID的值为:NULL@ID赋值为0
当前@ID的值为:0
输出结果

记忆要点:

1.与C#等语言不同,SQL中链接字符串时必须将非字符变量进行类型转换,否则会报错;

2.字符型与NULL连接的结果可能会为NULL;

3.SQL数值型变量初始值为NULL;

4.SQL数值型变量可以直接用赋值运算符赋为NULL值;

5.另:当以SELECT赋值且未查询到任何记录时,变量值为NULL。

转载于:https://www.cnblogs.com/shuijinghuntun/p/4478113.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值