存储过程中的SET ANSI_NULLS ON有什么用

在数据库中新建存储过程的时辰,默认城市有一个 SET ANSI_NULLS ON 在前面,那么,这句话到底是什么意思呢?有什么感化呢? SET ANSI_NULLS ON 与  SET ANSI_NULLS OFF 的区别在哪里呢?

东西/原料

  • sqlserver

方式/步调

  1. 1

    存储过程的大致布局如图所示,在代码的最前面默认会有一个 SET ANSI_NULLS ON,本文是以sqlserver数据库为例进行的演示申明

    2若何建立存储过程执行存储过程

  2. 2

    在sql server management studio办理东西中点击【新建查询】,建立一个新的sql语句书写窗口,界说一个长度为50的字符串姑且变量,而且赋值为null

  3. 3

    开启SET ANSI_NULLS ON,然后直接利用等号判定变量是否等于null。此处利用if判定语句,直接输出判定的成果

  4. 4

    点击上面菜单的【执行】,或者按F5就可以运行窗口内的所有SQL语句。从运行成果可以看出,当开启SET ANSI_NULLS ON的时辰,null直接利用等号判定null是会返回false的

  5. 5

    封闭SET ANSI_NULLS OFF,然后直接利用等号判定变量是否等于null。此处利用if判定语句,直接输出判定的成果

  6. 6

    点击上面菜单的【执行】,或者按F5就可以运行窗口内的所有SQL语句。从运行成果可以看出,当封闭SET ANSI_NULLS OFF的时辰,null直接利用等号判定null是会返回true的,这个与开启ON的结果完全相反

  7. 7

    最后,若是开启了SET ANSI_NULLS ON,想要判定是不是为null,该怎么判定呢?这个时辰可以利用is null,也可以利用isnull()函数判定null以及空白。

    总结:

    1)SET ANSI_NULLS ON:null与null不相等

    2)SET ANSI_NULLS OFF:null与null相等

  • 发表于 2019-07-10 20:03
  • 阅读 ( 1280 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具