SET QUOTED_IDENTIFIER
时间: 2023-07-11 12:55:08 浏览: 116
SET QUOTED_IDENTIFIER 是一个 SQL Server 的设置,用于指定在查询中如何处理带引号的标识符。当 SET QUOTED_IDENTIFIER ON 时,双引号表示字符串而不是标识符,而单引号表示字符常量。例如,如果在查询中使用 SELECT "column1" FROM table1,"column1" 会被视为字符串,而不是列名。当 SET QUOTED_IDENTIFIER OFF 时,则双引号表示标识符,而单引号表示字符常量。例如,如果在查询中使用 SELECT "column1" FROM table1,"column1" 会被视为列名。
一般情况下,应该将 SET QUOTED_IDENTIFIER ON,以避免由于带引号的标识符被误解为字符串而导致的错误结果。但是,如果需要与其他数据库兼容,可能需要将 SET QUOTED_IDENTIFIER OFF。
相关问题
set quoted_identifier on
set quoted_identifier on 是一种 SQL Server 中的设置,用于指示 SQL Server 是否应将双引号视为标识符的一部分。如果设置为 on,则 SQL Server 将双引号视为标识符的一部分;如果设置为 off,则 SQL Server 将双引号视为字符串的一部分。这个设置通常用于处理包含特殊字符的标识符或字符串。
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
`SET ANSI_NULLS ON` 和 `SET QUOTED_IDENTIFIER ON` 是SQL Server中的命令,用于设定查询语句的行为模式。这些设置通常出现在存储过程或脚本的开始,以确保一致性。
`SET ANSI_NULLS ON` 会启用ANSI标准,使得在比较运算符(如`=`, `<>`)中遇到NULL值时,它们会被当作非NULL处理,即NULL不会与任何其他值相匹配。这有助于避免意外的结果,因为默认情况下SQL Server会隐式转换NULL为对应的数据类型。
`SET QUOTED_IDENTIFIER ON` 则会让SQL Server解析SQL文本时区分大小写,使用双引号(`""`)来标识表名、列名等标识符,而非单引号(' ')。这样可以避免因大小写混淆导致的命名冲突。
在执行这些命令后,脚本的后续部分将按照设置的规则执行。例如:
```sql
USE [BMSCV2OutputWeekly]; -- 使用指定数据库
GO
SET ANSI_NULLS ON;
GO
-- 所有随后的WHERE条件都将明确地排除NULL值,如 WHERE column IS NOT NULL;
SET QUOTED_IDENTIFIER ON;
GO
-- 之后的表名、列名等都会使用双引号,如 "table_name"."column_name";
```
阅读全文
相关推荐

















