【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。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。