`

SET QUOTED_IDENTIFIER ON

阅读更多

SET ANSI_NULLS ON


SET QUOTED_IDENTIFIER ON
GO
是什么意思?



语法
SET QUOTED_IDENTIFIER { ON | OFF }

注释
当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须遵守所有 Transact-SQL 标识符规则。有关更多信息,请参见使用标识符。文字可以由单引号或双引号分隔。

当 SET QUOTED_IDENTIFIER 为 ON 时,由双引号分隔的所有字符串都被解释为对象标识符。因此,加引号的标识符不必遵守 Transact-SQL 标识符规则。它们可以是保留关键字,并且可以包含 Transact-SQL 标识符中通常不允许的字符。不能使用双引号分隔文字字符串表达式,而必须用单引号括住文字字符串。如果单引号 (') 是文字字符串的一部分,则可以由两个单引号 ('') 表示。当对数据库中的对象名使用保留关键字时,SET QUOTED_IDENTIFIER 必须为 ON。

当 SET QUOTED_IDENTIFIER 为 OFF(默认值)时,表达式中的文字字符串可以由单引号或双引号分隔。如果文字字符串由双引号分隔,则可以在字符串中包含嵌入式单引号,如省略号。

当在计算列或索引视图上创建或操作索引时,SET QUOTED_IDENTIFIER 必须为 ON。如果 SET QUOTED_IDENTIFIER 为 OFF,则计算列或索引视图上带索引的表上的 CREATE、UPDATE、INSERT 和 DELETE 语句将失败。有关计算列上的索引视图和索引所必需的 SET 选项设置的更多信息,请参见 SET 中的"使用 SET 语句时的注意事项"。







SET ANSI_NULLS ON是什么意思?


SQL-92 标准要求在对空值进行等于 (=) 或不等于 (<>) 比较时取值为 FALSE。当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 语句仍会返回零行。
当 SET ANSI_NULLS 为 OFF 时,等于 (=) 和不等于 (<>) 比较运算符不遵从 SQL-92 标准。使用 WHERE column_name = NULL 的 SELECT 语句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 语句返回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 语句返回所有不为 XYZ_value 也不为 NULL 的行。
分享到:
评论

相关推荐

    sqlserverSET QUOTED_IDENTIFIER ON

    SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO ALTER PROCEDURE test @From varchar(100)="zhang.zhanling@itgemini.net" , @To varchar(100)="zhang.zhanling@itgemini.net" ,@eng varchar(1000)=" ", ...

    SQL_SET.rar_SetSQL_sql_sql set _sql set connectattr_sql set rouc

    `SET QUOTED_IDENTIFIER ON/OFF` 则影响标识符(如表名或列名)是否需要引号包裹。 3. **SQL SET ConnectAttr**:在某些数据库系统中,如Oracle,可以通过`ALTER SESSION SET`来改变连接的属性,比如设置会话的时区...

    C# winform小程序,适合初学

    SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[stuinf]( [name] [nchar](20) NOT NULL, [telephone] [nchar](50) NULL, [mobilepho] [nchar](50) NULL, [qq] [nchar](50) NULL, [email] [nchar](50) NULL, ...

    SQL SERVER 双引号问题处理

    在这个例子中,`SET QUOTED_IDENTIFIER ON;` 启用了双引号的支持,然后使用双引号界定包含单引号的字符串,从而避免了语法错误。 #### 注意事项 - **上下文敏感性**:`QUOTED_IDENTIFIER` 的设置会影响整个批处理...

    省级级联,可直接创建表,导入数据库最新20180831

    SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Param_City]( [id] [int] IDENTITY(1,1) NOT NULL, [parentid] [int] NULL, [City] [varchar](250) NULL, [Create_id] [int] NULL, ...

    汽车维修保养管理系统

    exec sp_dboption N'My_vehicle', N'quoted identifier', N'false' GO exec sp_dboption N'My_vehicle', N'ANSI warnings', N'false' GO exec sp_dboption N'My_vehicle', N'auto create statistics', N'true' GO ...

    校友录系统(ASP.NET 3.5实现)

    SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[diaryclass]( [id] [int] IDENTITY(1,1) NOT NULL, [classname] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_diaryclass] PRIMARY KEY ...

    留言本系统(ASP.NET 3.5实现)

    SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[gbook_class]( [id] [int] IDENTITY(1,1) NOT NULL, [classname] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_gbook_class] PRIMARY KEY ...

    Dapper读取数据实例,winform程序,增删改查全含,源码,刚写完的

    SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Student]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NULL, [Age] [int] NULL, [Grade] [nvarchar](50) NULL, [Sex] [nvarchar](50) NULL, ...

    短信发送接口程序

    SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[uMessage]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[uMessage]( [id] [varchar](10) NOT ...

    BPEL调用SQLServer数据库存储过程文档

    SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Book] ( [id] [int] NOT NULL, [name] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, [password] [varchar](50) COLLATE ...

    分页存储过程

    SET QUOTED_IDENTIFIER ON GO --创建分页存储过程 CREATE PROCEDURE [dbo].[pro_GetPagedData] @pageIndex INT,--输入参数,页号 @pageSize INT,--输入参数,每页容量 @rowCount INT OUTPUT,--输出参数,总行数 @...

    Extjs入门之动态加载树代码

    Extjs动态加载树,首先在数据库里面设计存放树信息的表 代码如下: USE [KimiExtjs] GO /****** 对象: Table [dbo].[Trees] 脚本日期: 04/08/2010 22:12:25 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON ...

    SQL Server 行专列存储过程

    - `set ansi_nulls on` 和 `set quoted_identifier on` 这两个命令用于设置 SQL Server 的运行环境。`ansi_nulls on` 指定了如何处理 NULL 值,默认情况下,当比较或连接包含 NULL 值时,表达式的结果也将为 NULL;...

    sql 在更新某字段后写入日志触发器

    - `SET ANSI_NULLS ON` 和 `SET QUOTED_IDENTIFIER ON` 是设置SQL Server的会话选项,确保字符串字面量可以被正确引用。 - `AFTER UPDATE` 指明此触发器是在数据更新之后触发的。 2. **变量声明与赋值**: - `...

    Visual C# 2008 利用存存储过程操纵数据库

    - `SET ANSI_NULLS ON` 和 `SET QUOTED_IDENTIFIER ON` 是为了确保代码的兼容性和安全性。 - `CREATE PROCEDURE` 创建名为`GetUser`的存储过程。 - `@userID` 输入参数,用于指定用户ID。 - `@userName` 和 `@qx...

    SQL Server存储过程之嵌套游标

    set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[CancelOrderBySystem] AS BEGIN declare /*声明变量*/ @Status varchar(100), –状态 @TimeNow datetime, –当前时间 @TradeID varchar(50), ...

    酒店管理系统

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE DATABASE [royal] GO USE [royal] GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo]....

    Sql Server 时间格式转换函数

    整理了一下SQL Server里面可能经常会用到的日期格式转换方法,整合一个函数来处理。 调用: select dbo.func_Print_DateFormat('yyyy-MM-dd',getdate...SET QUOTED_IDENTIFIER ON GO /* 日期格式处理 日期:2015-8-28 1

    某年第一周开始日期实现方法

    参考网址 //www.jb51.net/article/29551.htm 代码如下: SELECT [StartDate] FROM [dbo].[udf_Week](2012,2012) ... 代码如下: udf_StartDateOfFirstWeek SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FU

Global site tag (gtag.js) - Google Analytics