切换导航
简历
工具
演示
查询
导航菜单
服务端
30
前端
114
数据库
82
进阶开发
8
桌面程序
2
QA
15
软件使用
36
规范协议
5
操作系统
11
AI
0
复用资源
6
硬件
0
标签
SQL Server
Redis
MySQL
其它
Oracle
外部链接
.NET Core SDK和运行时安装包
淘宝 NPM 镜像
查询网
Tables Generator线上表格转换工具
引用cdn在线脚本和样式
首页
数据库
SQL Server 系统设置
[TOC] ## SQL Server 系统设置 ### 1. QUOTED_IDENTIFIER 设置 这个设置控制是否允许使用双引号(")来引用标识符(如表名、列名)。如果设置为ON,双引号将被视为SQL标准的标识符分隔符;如果设置为OFF,则双引号将被视为常规的字符串分隔符 `QUOTED_IDENTIFIER` 设置控制了如何解析带有双引号的标识符。以下是两种不同设置下的行为示例: #### 1.1. 当 QUOTED_IDENTIFIER 设置为 ON 在 SQL Server 中,如果你设置了 `QUOTED_IDENTIFIER ON`,那么双引号(`"`)会作为标识符的引号,这意味着你可以使用保留字作为列名或表名,并且可以包含特殊字符。例如: ```SQL SET QUOTED_IDENTIFIER ON; CREATE TABLE "My Table" ( "Column 1" int, "SELECT" varchar(10) -- SELECT 是 SQL 的关键字 ); INSERT INTO "My Table" ("Column 1", "SELECT") VALUES (1, 'Hello'); SELECT * FROM "My Table"; ``` 在这个例子中,即使 `"My Table"` 和 `"SELECT"` 是 SQL 中的关键字,你仍然可以使用它们作为表名和列名,因为它们被双引号包围 #### 1.2. 当 QUOTED_IDENTIFIER 设置为 OFF 如果 `QUOTED_IDENTIFIER` 设置为 OFF,双引号将被视为普通字符串的一部分,而不是标识符的分隔符。这可能会导致语法错误,因为你直接使用了保留字或特殊字符而没有正确引用它们。例如: ```SQL SET QUOTED_IDENTIFIER OFF; -- 这将导致错误,因为 SELECT 是一个保留字 CREATE TABLE "My Table" ( "Column 1" int, "SELECT" varchar(10) ); ``` 在上面的例子中,尝试创建一个名为 `"SELECT"` 的列将导致语法错误,因为 SQL Server 将其解释为一个保留字,而不是一个标识符。 为了在 `QUOTED_IDENTIFIER OFF` 的情况下使用特殊字符或保留字,你需要使用方括号(`[]`)来引用标识符: ```SQL SET QUOTED_IDENTIFIER OFF; CREATE TABLE [My Table] ( [Column 1] int, [SELECT] varchar(10) ); ``` 在这个例子中,使用方括号来引用标识符是一种替代方法,它允许你使用保留字或包含特殊字符的名称,即使 `QUOTED_IDENTIFIER` 设置为 OFF。 总结来说,`QUOTED_IDENTIFIER` 的设置会影响如何引用包含特殊字符或保留字的标识符。如果你计划在标识符中使用这些元素,确保设置为 ON 或者使用方括号来正确引用它们。
扫一扫手机看
点击排行
windows 文件资源管理器使用
Layui 弹窗open使用说明
SQL Server 中字符串函数使用
C# 使用QQ邮箱代理做邮件接收功能
SQL Server关于apply的两种形式cross apply 和 outer apply
ASP.NET MVC 模型的自定义验证
nvm安装及常用命令
SQL Server 中数据类型转换
SQL Server 中WITH AS短语的使用
IE浏览器下AJAX缓存问题导致数据不更新的解决办法
订阅号