SET ANSI_NULLS ON, SET ANSI_NULLS OFF,SET QUOTED_IDENTIFIER ON 及SET QUOTED_IDENTIFIER OFF的设置说明

下面是对SET ANSI_NULLS ON, SET ANSI_NULLS OFF,SET QUOTED_IDENTIFIER ON 及SET

QUOTED_IDENTIFIER OFF的设置说明

以我们对表PieceStatusHistory进行查询为例



SET ANSI_NULLS ON

表示对空值(null), 等于(=)或不等于(<>)进行判断时,遵从 SQL-92 规则


SET ANSI_NULLS ON

1. SELECT *FROM PieceStatusHistory WHERE FI1 = NULL


即使是表中字段FI1中包含空值(null),在进行条件判断 where FI1=NULL 时,该select查询语句返回的数据是空的/返回零行。


2. SELECT *FROM PieceStatusHistory WHERE JobIndex <> NULL


即使是表中字段JobIndex 中包含非空值,在进行条件判断 where JobIndex <>NULL时,该select查询语句返回的数据是空的/返回零行。


SET ANSI_NULLS OFF

表示对空值(null),等于(=)或不等于(<>)进行判断时,不再遵从 SQL-92 规则

SET ANSI_NULLS OFF

1. SELECT *FROM PieceStatusHistory WHERE FI1 = NULL


当FI1字段中包含了空值(null),在进行条件判断 where FI1= null

时,该select查询语句会返回表中column_name 字段值为空(null)的数据行


2. SELECT *FROM PieceStatusHistory WHERE JobIndex <> NULL


当JobIndex字段中包含了非空值,在进行条件判断 whereJobIndex<> null 时,该select 查询语句会返回表中JobIndex字段值不为空的数据行。



SET QUOTED_IDENTIFIER ON

表示使用 引用标识符时,标识符可以用双引号分隔,也可以不用双引号分隔,但是,文字必须用单引号分隔。


SET QUOTED_IDENTIFIER ON

1. SELECT "TimeStamp" FROM PieceStatusHistory WHERE TimeStamp = '2020-07-20 16:53:56.000'

或SELECT TimeStamp FROM PieceStatusHistory WHERE TimeStamp = '2020-07-20

16:53:56.000'


2. 创建与系统关键字重复的,允许使用双引号括起来,就能正常使用。否则不允许使用。如创建tabel 'distinct'



SET QUOTED_IDENTIFIER OFF

表示标识符不能用双引号分隔,否则标识符会被当做字符串值来返回,不再是字符来返回。而且,文字部分必须用单引号或双引号分隔。


SET QUOTED_IDENTIFIER OFF

1. SELECT "TimeStamp" FROM PieceStatusHistory WHERE TimeStamp = '2020-07-20 16:53:56.000'


2. 与系统关键字重复的,即便有双引号括起来,也不允许使用


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。