代码开头经常会出现这几行代码:
USE [BMSCV2OutputWeekly] #指明要使用的数据库
GO #当脚本运行到go语句时,就会直接对go语句之前的代码进行批处理操作。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
一、SET ANSI_NULLS ON
表示对等于(=)或不等于(<>)空值(NULL)进行判断时,遵从 SQL-92 规则。
SQL-92规则中,在对等于(=)或不等于(<>)空值(null)进行比较时,取值为false。
(1)
#如果字段[name]中含有空值
SELECT * FROM STUDENT WHERE NAME=NULL;
(2)
#如果字段[name]中含有非空值
SELECT * FROM STUDENT WHERE NAME<>NULL;
二、SET ANSI_NULLS OFF
表示对等于(=)或不等于(<>)空值(NULL)进行判断时,不遵从 SQL-92 规则。
(1)
#如果字段[name]中含有空值
SELECT * FROM STUDENT WHERE NAME=NULL;
(2)
#如果字段[name]中含有非空值
SELECT * FROM STUDENT WHERE NAME<>NULL;
三、SET QUOTED_IDENTIFIER ON
表示使用引用标识符,标识符可以用双引号分隔,但是,文字必须用单引号分隔。
select "ID","name","score" from Stuscore where name='张三';
select id,name,score from Stuscore where name='张三';
三、SET QUOTED_IDENTIFIER OFF
表示标识符不能用双引号分隔,否则标识符会被当做字符串值来返回,不再是字符来返回。而且,文字部分必须用单引号或双引号分隔。
(1)
select "ID","name","score" from Stuscore where name='张三' OR name="小红";
(2)
select id,name,score from Stuscore where name='张三' or name="小红";
今天的文章SET ANSI_NULLS ON和SET QUOTED_IDENTIFIER ON「建议收藏」分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/59313.html