在数据库中新建存储过程的时候,默认都会有一个SETANSI_NULLSON螅岔出礤在前面,那么,这句话到底是什么意思呢?有什么作用呢?SETANSI_NULLSON与S呶蓟鹭毵ETANSI_NULLSOFF的区别在哪里呢?
工具/原料
sqlserver
方法/步骤
1、存储过程的大致结构如图所示,在代码的最前面默认会有一个SETANSI_NULLSON,本文是以sqlserver数据库为例进行的演示说明
2、在sqlservermanagementstudio管理工具中点击【新建查询】,创建一个新的sql语句书写窗口,定义一个长度为50的字符串临时变量,并且赋值为null
3、开启SETANSI_NULLSON,然后直接使用等号判断变量是否等于null。此处使用if判断语句,直接输出判断的结果
4、点击上面菜单的【执行】,或者按F5就可以运行窗口内的所有SQL语句。从运行结果可以看出,当开启SETANSI_NULLSON的时候,null直接使用等号判断null是会返回false的
5、关闭SETANSI_NULLSOFF,然后直接使用等号判断变量是否等于null。此处使用if判断语句,直接输出判断的结果
6、点击上面菜单的【执行】,或者按F5就可以运行窗口内的所有SQL语句。从运行结果可以看出,当关闭SETANSI_NULLSOFF的时候,null直接使用等号判断null是会返回true的,这个与开启ON的效果完全相反
7、最后,如果开启了SETANSI_鲍伊酷雪NULLSON,想要判断是不是为null,该怎么判断呢?这个时候可以使用isnull,也可以使用isnull()函数判断荏鱿胫协null以及空白。总结:1)SETANSI_NULLSON:null与null不相等2)SETANSI_NULLSOFF:null与null相等