SQL语法分隔符理解摘要

SQL语法分隔符理解摘要
他们之间的主要区别是分隔标识符包含在双引号(Transact-SQL还支持使用方括号:{标识符},是敏感的。单引号只用于限定字符串。在一般情况下,引入了一个分隔的标识符规范标识,否则会是相同的保留字。我想提及的是,分隔标识符可以避免使用保留字,可能会出现在未来的SQL标准命名时,名称或标识符。此外,分隔标识符可以包含一些字符,如空格,这被认为是非法的名称通常标识符。
在SQL Server中,双引号的使用是在语句的quoted_identifier选项定义。如果此选项设置为ON,在双引号的标识符将被定义为一个单独的标识符。在这种情况下,双引号不能用于绑定字符串。
记住下面的话理解分隔符
这是本书的原文。我对分隔标识符的理解是:HU
{ },这些标识符都是不同的。当它们被使用时,它们就像A、B和其他标识符。它们只需要双引号或括号。我不知道这是否被理解。
我自己的理解是,分隔符的设计起到separation.select *的角色从我的桌子
在姓= O ''brien
自分析:从关键字中选择来自哪里。我的表是一个符号和一个分隔符。
请大虾教。
事实上,你理解正确的东西
但是不要忘记它的作用是定义标识符。
符合所有标识符格式规则的标识符可以使用分隔符不能使用分隔符。
不符合标识符格式规则的标识符必须使用定界符。
在下列情况下使用分隔标识符:
当对象名称或对象名的组成部分中使用保留字时。
建议不要使用保留关键字作为对象名称。数据库升级从微软(R)的早期版本的SQL Server可能包含标识符,它含有不被保留在早期版本,但保留在SQL Server 2000的话,对象可以用一个标识符的名字之前被改变的参考
当使用未被列为合法标识符的字符时。
SQL Server允许当前代码页中的任何字符用于分隔标识符。然而,特殊字符的对象的名称的非选择性的使用将使它难以阅读和维护SQL语句和脚本
Transact-SQL使用的分隔符类型
显示分隔符仅用于标识符。无论是否在SQL Server中标记为保留字,分隔符不用于关键字。
引用的标识符用双引号()分隔:
从表名称中的空白中选择*
括号中包含的标识符用方括号({)分隔:
在表名}中从{ Blanks中选择*
引用的标识符是有效的只有当quoted_identifier选项设置为ON。默认情况下,当微软OLE DB Provider for SQL Server连接到SQL Server ODBC驱动程序,quoted_identifier设置,默认情况下,数据库库不设置quoted_identifier上。无论哪个接口是用于单个应用程序用户可以在任何time.sql服务器更改设置,提供多种指定此选项的方法。例如,在SQL Server企业管理器和SQL查询分析器,该选项可以设置在一个对话。在Transact-SQL,您可以使用设置的quoted_identifier,sp_dboption QUOTED IDENTIFIER选项或sp_configure选项可以设置这个选项多层次。
当quoted_identifier是SQL Server之前,双引号和单引号的使用SQL-92规则(')的SQL语句。
双引号只能用于分隔标识符,不能用于分隔字符串。
为了保持与现有应用程序的兼容性,SQL Server没有完全执行规则。如果字符串不超过标识符的长度,则字符串可以包含在双引号中。
必须使用单引号来包含字符串,不能用于分隔标识符。
如果字符串包含一个单引号,则需要在单引号之前添加一个引号:
从我的表中选择
在姓= O ''brien
当quoted_identifier关闭,SQL Server以下为双引号和单引号的使用规则。
引号不能用来分隔标识符,但使用括号作为定界符。
可以使用单引号或双引号来包含字符串。
如果使用双引号,内嵌的单引号不需要用两个单引号表示。
从{我的表}中选择*
{
不管如何,quoted_identifier设置,你可以在括号中使用分隔符。
分区标识符规则
分隔标识符的格式化规则为:
一个单独的标识符可以包含与正则标识符相同的字符数(1到128,不包括分隔符字符)。本地临时表标识符最多可以包含116个字符。
标识符的身体可以包含当前代码页中的任何组合的字母(除分离器本身)。例如,分隔标识符可以包含任何字符,空格,为常规标识符都是有效的,与下列字符:字符(~)连字号(-)
感叹号(!)左括号({)
百分比符号(%)右括号(})
插入符号(^)撇号(')
和()期间(。)
左括号(()反斜杠()
右括号())重音符号(')
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部