搜索
首页数据库mysql教程SQL语法 分隔符理解小结

单引号和双引号之间的区别最早在SQL92标准中引入的。对于标识符,这个标准区分了常规标识符和分隔的标识符。

两者主要的区别在于:分隔的标识符被括在双引号中(Transact-SQL也支持方括号的使用:[标识符])并且是区分大小写的。单引号只用于字符串的定界。总的来说,引入分隔的标识符是为了对标识符进行规范,否则就会与保留字相同了。特别要提到的是,分隔的标识符能够使你在命名(标识符或变量的名字)的时候,免于使用在将来的SQL标准中可能出现的保留字。另外,分隔的标识符能够包含一些在通常的标识符名称中被视为不合法的字符,如空格。
在SQL SERVER中,双引号的使用由SET 语句中的QUOTED_IDENTIFIER选项来定义。如果这个选项被设为ON,则双引号中的标识符将被定义为一个分隔的标识符。在这种情况下,双引号不能被用于定界字符串。”
记住以下几句话就能把分隔符理解了
以上这段话是书上的原话,我对分隔的标识符的理解是:例如"hu","h u",[hu],
[ h u]这几个标识符都是不同的,在使用时就像使用a,b等标识符一样,只不过必须加上双引号或中括号,不知这样理解对不对。
我自己对分隔符的理解:分隔符就是为了起到分隔作用。 SELECT * FROM "My Table"
WHERE "Last Name" = 'O''Brien'
自我分析:SELECT,FROM,where是关键字。"My Table"就是标志符,而””就是分隔符
请大虾们指教。
其实你理解的挺对的
但是别忘了它的作用是为了定义标识符
符合所有标识符格式规则的标识符可以使用分隔符,也可以不使用分隔符。
不符合标识符格式规则的标识符必须使用分隔符。
分隔标识符在下列情况下使用:
当在对象名称或对象名称的组成部分中使用保留字时。
推荐不要使用保留关键字作为对象名称。从 Microsoft® SQL Server™ 早期版本升级的数据库可能含有标识符,这些标识符包括早期版本中未保留而在 SQL Server 2000 中保留的字。可用分隔标识符引用对象直到可改变其名称。
当使用未被列为合法标识符的字符时。
SQL Server 允许在分隔标识符中使用当前代码页中的任何字符。但是,不加选择地在对象名称中使用特殊字符将使 SQL 语句和脚本难以阅读和维护。
Transact-SQL 所使用的分隔符类型:
说明 分隔符仅用于标识符。分隔符不能用于关键字,不论它们在 SQL Server 中是否被标记为保留字。
被引用的标识符用双引号 (") 分隔开:
SELECT * FROM "Blanks in Table Name"
括在括号中的标识符用方括号 ([ ]) 分隔:
SELECT * FROM [Blanks In Table Name]
仅当 QUOTED_IDENTIFIER 选项设置为 ON 时,被引用的标识符才有效。默认情况下,当用于 SQL Server 的 Microsoft OLE DB 提供程序和 SQL Server ODBC 驱动程序连接时,将 QUOTED_IDENTIFIER 设置为 ON。默认情况下,DB-Library 不将 QUOTED_IDENTIFIER 设置为 ON。不管使用何种接口,个别应用程序或用户可随时更改设置。SQL Server 提供了多种方法来指定该选项。例如,在 SQL Server 企业管理器和 SQL 查询分析器中,该选项可在对话中设置。在 Transact-SQL 中,可以使用 SET QUOTED_IDENTIFIER、sp_dboption 的 quoted identifier 选项或 sp_configure 的 user options 选项将此选项设为多种级别。
当 QUOTED_IDENTIFIER 为 ON 时,对于 SQL 语句中的双引号和单引号 (') 的使用,SQL Server 遵循 SQL-92 规则:
双引号只能用于分隔标识符,不能用于分隔字符串。
为保持与现有应用程序的兼容性,SQL Server 并不完全强制该规则。如果字符串没有超过标识符的长度,则该字符串可包含在双引号内。但不建议这样做。
单引号必须用来包含字符串,不能用于分隔标识符。
如果字符串包含单引号,则需要在单引号前再增加一个单引号:
SELECT * FROM "My Table"
WHERE "Last Name" = 'O''Brien'
当 QUOTED_IDENTIFIER 为 OFF 时,对于双引号和单引号的使用,SQL Server 遵循如下规则:
引号不能用于分隔标识符,而是用括号作为分隔符。
单引号或双引号可用于包含字符串。
如果使用双引号,嵌入的单引号不需要用两个单引号来表示:
SELECT * FROM [My Table]
WHERE [Last Name] = "O'Brien"
无论 QUOTED_IDENTIFIER 的设置如何,都可以在括号中使用分隔符。
分隔标识符规则
分隔标识符的格式规则是:
分隔标识符可以包含与常规标识符相同的字符数(1 到 128 个,不包括分隔符字符)。本地临时表标识符最多可以包含 116 个字符。
标识符的主体可以包含当前代码页内字母(分隔符本身除外)的任意组合。例如,分隔符标识符可以包含空格、对常规标识符有效的任何字符以及下列任何字符: 代字号 (~) 连字符 (-)
惊叹号 (!) 左括号 ({)
百分号 (%) 右括号 (})
插入号 (^) 撇号 (')
and 号 (&) 句号 (.)
左圆括号 (() 反斜杠 (\)
右圆括号 ()) 重音符号 (`)
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何在 iPhone 上更改数字格式如何在 iPhone 上更改数字格式Apr 13, 2023 pm 06:16 PM

您可以在 iOS 16 上选择哪些数字格式随着对 iOS 16.4 (beta 2) 的更改,您可以为您的 iPhone 选择三种不同的数字格式。这些格式使用空格、逗号和句点作为分隔数字中千位的符号或作为小数点。小数点是用于将值的整数部分与其小数部分分开的字符,通常由句点 (.) 或逗号 (,) 分配。千位分隔符用于将多位数的数字分成三组,通常由句点 (.)、逗号 (,) 或空格 ( ) 指定。 在最新版本的 iOS 上,您将能够应用以下任何一种数字格式作为您 iPhone 的首选选项:1,23

C语言中有哪些特殊符号?C语言中有哪些特殊符号?Aug 26, 2023 pm 01:41 PM

在C编程语言中,通常情况下,特殊符号具有特殊的含义,不能用于其他目的。在C编程中使用的一些特殊符号如下−[](){},;*=#让我们了解它们的定义,如下所示:方括号[]-方括号的开闭用于数组元素引用,表示单个和多维下标。圆括号()-这些特殊符号用于函数调用和函数参数。花括号{}-花括号的开闭表示包含多个可执行语句的代码块的开始和结束。逗号(,)-用于分隔多个语句,比如函数调用中的参数分隔。冒号(:)-这是一个运算符,实际上调用了一个叫做初始化列表的东西。分号(;)-它被称为语

MySQL技术的局限性:为何不足以与Oracle匹敌?MySQL技术的局限性:为何不足以与Oracle匹敌?Sep 08, 2023 pm 04:01 PM

MySQL技术的局限性:为何不足以与Oracle匹敌?引言:MySQL和Oracle是当今世界最流行的关系数据库管理系统(RDBMS)之一。虽然MySQL在Web应用开发和小型企业中非常流行,但在大型企业和复杂数据处理领域,Oracle却一直占据主导地位。本文将探讨MySQL技术的局限性,解释为何其不足以与Oracle匹敌。一、性能和扩展性限制:MySQL在

如何将 MacOS Ventura 中的小数分隔符从逗号更改为点如何将 MacOS Ventura 中的小数分隔符从逗号更改为点Apr 15, 2023 pm 12:43 PM

在MacOSVentura中更改小数分隔符和数字格式转到Apple菜单并选择“系统设置”转到“一般”选择“语言和地区”找到“数字格式”并下拉旁边的子菜单以访问各种数字格式选项,允许您将小数点分隔符更改为逗号、点或空格选择您想要的数字格式,该设置将立即贯穿整个MacOS。MacOSVentura系统设置中缺少“数字格式”?一些使用不同区域设置的Mac用户发现他们的MacOSVentura系统设置中缺少数字格式部分,这是一个严重的疏忽或一个可爱的错误。无论如何,如果您发现自己缺少数字格

php服务器脚本分隔符有哪些php服务器脚本分隔符有哪些Sep 18, 2023 pm 01:58 PM

php服务器脚本分隔符有“<?php”、“<?”、“?>”、“<!--”和“//-->”等。详细介绍:1、“<?php”,这是PHP中最常见的开始标记,用于标识PHP代码块的开始,在这个标记之后,可以写入任意的PHP代码;2、“<?”,短标记是PHP中的另一种开始标记,它比较简洁,并且在PHP配置文件中可以通过设置修改,由于短标记可能会与其他语言的标记冲突,因此不推荐使用等等。

如何使用String类的split()方法根据某个分隔符拆分字符串如何使用String类的split()方法根据某个分隔符拆分字符串Jul 24, 2023 pm 09:32 PM

如何使用String类的split()方法根据某个分隔符拆分字符串概述:在Java编程语言中,String类是一个非常重要和常用的类。String类提供了许多实用的方法,其中split()方法被用来拆分字符串。split()方法根据指定的分隔符将一个字符串分割成多个子字符串,并将这些子字符串存储在一个字符串数组中。本文将介绍如何使用String类的split

提取在任意一对分隔符之间的子字符串提取在任意一对分隔符之间的子字符串Aug 26, 2023 pm 02:21 PM

分隔符是将字符串与其他字符分开的字符,例如在我们日常阅读活动中的句子中,我们通过空格分隔出不同的单词。在数学和正则表达式中,我们使用()括号作为主要的分隔符。子字符串及其操作的概念在编程中非常重要,特别是在用于编写编译器和汇编器的C语言中。在字符串中识别定界符,并将起始定界符后的字符复制到另一个变量中,直到结束定界符。==和!=运算符可用于比较字符串中的字符和用户指定的分隔符字符。使用scanf()函数从用户接受一个字符串,所以空格不能作为字符串的一部分。如果使用puts()或其他函数或方法,可

Java如何使用String类的split()函数按指定分隔符拆分字符串Java如何使用String类的split()函数按指定分隔符拆分字符串Jul 25, 2023 pm 04:49 PM

Java如何使用String类的split()函数按指定分隔符拆分字符串在Java中,String类是一个非常常用的类,它提供了许多有用的方法来处理和操作字符串。其中一个常用的方法是split()函数,它可以按照指定的分隔符将字符串拆分成多个子字符串。split()函数的语法如下:String[]split(Stringregex)其中,regex是一个

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。