SET ANSI_NULLS ON和SET QUOTED_IDENTIFIER ON

代码开头经常会出现这几行代码:

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="小红";

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值