set ansi_nulls 和set quoted_identifier的使用总结

简介:

set ansi_nulls on的用法

指定在与 Null 值一起使用等于 (=) 和不等于 (<>) 比较运算符时采用符合 ISO 标准的行为。

 SET ANSI_NULLS  ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL  SELECT 语句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL  SELECT 语句仍会返回零行。

 SET ANSI_NULLS  OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵守 ISO 标准。使用 WHERE column_name = NULL  SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL  SELECT 语句返回列中包含非空值的行。

 

select * from qlei where sname is null

select * from qlei where sname is not null

结果如图:

set ansi_nulls on

select * from qlei where sname = null

select * from qlei where sname<>null

结果如图:

set ansi_nulls off

select * from qlei where sname = null

select * from qlei where sname<>null

结果如图:

6. SET QUOTED_IDENTIFIER的用法

 SET QUOTED_IDENTIFIER  ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识符规则。在默认情况下,SET QUOTED_IDENTIFIER ON

set quoted_identifier on

select * into "user" from qlei--user为系统关键字如果直接使用会报错

select * from "user" where sno='990028'

select * from [user] where sno='990028'—-单引号变成双引号报错

结果如图:

 set quoted_identifier off

select * from user where sno='990028'--这样写报错

select * from [user] where sno='990028'

select * from [user] where sno="990028"

结果如图:



本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/380214,如需转载请自行联系原作者

 

相关文章
|
10月前
|
存储 自然语言处理 C++
【C++杂货铺】set 和 map 使用总结
【C++杂货铺】set 和 map 使用总结
30 0
|
SQL 数据库
SQL点滴1—SET QUOTED_IDENTIFIER OFF语句的作用
原文:SQL点滴1—SET QUOTED_IDENTIFIER OFF语句的作用   先看下面几个sql语句 代码  1 SET QUOTED_IDENTIFIER ON 2 SELECT * FROM "USER"    WHERE a='netasp'  3  4 SET QUOTE...
954 0
|
SQL 数据库
SQL点滴1—SET QUOTED_IDENTIFIER OFF语句的作用
  先看下面几个sql语句 代码  1 SET QUOTED_IDENTIFIER ON 2 SELECT * FROM "USER"    WHERE a='netasp'  3  4 SET QUOTED_IDENTIFIER ON 5 SELECT * FROM [USER] WH.
830 0
|
27天前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
20天前
|
Java
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。
|
1月前
|
存储 JavaScript 前端开发
ES6新特性(四): Set 和 Map
ES6新特性(四): Set 和 Map
|
19天前
|
存储 Java 索引
|
2月前
|
C++ 容器
【C++】map和set封装
【C++】map和set封装
25 2
下一篇
DDNS