在数据库中新建存储过程的时辰,默认城市有一个 SET ANSI_NULLS ON 在前面,那么,这句话到底是什么意思呢?有什么感化呢? SET ANSI_NULLS ON 与 SET ANSI_NULLS OFF 的区别在哪里呢?
存储过程的大致布局如图所示,在代码的最前面默认会有一个 SET ANSI_NULLS ON,本文是以sqlserver数据库为例进行的演示申明
2若何建立存储过程执行存储过程
在sql server management studio办理东西中点击【新建查询】,建立一个新的sql语句书写窗口,界说一个长度为50的字符串姑且变量,而且赋值为null
开启SET ANSI_NULLS ON,然后直接利用等号判定变量是否等于null。此处利用if判定语句,直接输出判定的成果
点击上面菜单的【执行】,或者按F5就可以运行窗口内的所有SQL语句。从运行成果可以看出,当开启SET ANSI_NULLS ON的时辰,null直接利用等号判定null是会返回false的
封闭SET ANSI_NULLS OFF,然后直接利用等号判定变量是否等于null。此处利用if判定语句,直接输出判定的成果
点击上面菜单的【执行】,或者按F5就可以运行窗口内的所有SQL语句。从运行成果可以看出,当封闭SET ANSI_NULLS OFF的时辰,null直接利用等号判定null是会返回true的,这个与开启ON的结果完全相反
最后,若是开启了SET ANSI_NULLS ON,想要判定是不是为null,该怎么判定呢?这个时辰可以利用is null,也可以利用isnull()函数判定null以及空白。
总结:
1)SET ANSI_NULLS ON:null与null不相等
2)SET ANSI_NULLS OFF:null与null相等
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!