찾다
데이터 베이스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

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

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

深入了解PHP服务器脚本分隔符:全面掌握各种分隔符的用法和特性深入了解PHP服务器脚本分隔符:全面掌握各种分隔符的用法和特性Jan 11, 2024 pm 05:16 PM

PHP服务器脚本分隔符大全:全面了解各种分隔符的用法与特点,需要具体代码示例一、引言在PHP服务器脚本编写过程中,为了实现不同的功能和逻辑,我们需要使用到各种分隔符。分隔符在PHP代码中具有非常重要的作用,可以用于分割字符、字符串或代码块等。本文将介绍PHP服务器脚本常见的分隔符,并详细说明其用法和特点,同时提供相关的代码示例,以便读者更好地理解和应用。二、

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전