SQL中什么情况下用引号
发布网友
发布时间:2022-04-10 00:34
我来回答
共4个回答
热心网友
时间:2022-04-10 02:03
查询条件为文本格式时要求用引号,如varchar、char类型等,反之数值格式不要加引号,如bit、double、float、int类型等。举个例子slecet * from A where id='1'slecet * from A where id=1这两个的区别在于第一条id是字符型的,第二条id为数值型的
热心网友
时间:2022-04-10 03:21
输入的是字符串时就用引号。
热心网友
时间:2022-04-10 04:56
在取列表名的时候,需要使用
热心网友
时间:2022-04-10 06:47
在标准sql中,引号的使用
请注意,我们在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。文本值:
这是正确的:SELECT * FROM Persons WHERE FirstName='Bush' 这是错误的:SELECT * FROM Persons WHERE FirstName=Bush 数值:
这是正确的:SELECT * FROM Persons WHERE Year>1965 这是错误的:SELECT * FROM Persons WHERE Year>'1965' “单引号和双引号之间的区别最早在SQL92标准中引入的。对于标识符,这个标准区分了常规标识符和分隔的标识符。两者主要的区别在于:分隔的标识符被括在双引号中(Transact-SQL也支持方括号的使用:[标识符])并且是区分大小写的。单引号只用于字符串的定界。总的来说,引入分隔的标识符是为了对标识符进行规范,否则就会与保留字相同了。特别要提到的是,分隔的标识符能够使你在命名(标识符或变量的名字)的时候,免于使用在将来的SQL标准中可能出现的保留字。另外,分隔的标识符能够包含一些在通常的标识符名称中被视为不合法的字符,如空格。
在SQL SERVER中,双引号的使用由SET 语句中的QUOTED_IDENTIFIER选项来定义。如果这个选项被设为ON,则双引号中的标识符将被定义为一个分隔的标识符。在这种情况下,双引号不能被用于定界字符串。”
当 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 号 (&) 句号 (.)
左圆括号 (() 反斜杠 (\)
右圆括号 ()) 重音符号 (`) 转载标识符的概念: 数据库名是一个标识符,表名也是一个标识符,在SQL SERVER中标识符分为两类:标识符有两类:常规标识符符合标识符的格式规则。在 Transact-SQL 语句中使用常规标识符时不用将其分隔。SELECT *FROM TableXWHERE KeyCol = 124
分隔标识符包含在双引号 (") 或者方括号 ([ ]) 内。符合标识符格式规则的标识符可以分隔,也可以不分隔。SELECT *FROM [TableX] --Delimiter is optional.WHERE [KeyCol] = 124 --Delimiter is optional.在 Transact-SQL 语句中,对不符合所有标识符规则的标识符必须进行分隔。SELECT *FROM [My Table] --Identifier contains a space and uses a reserved keyword.WHERE [order] = 10 --Identifier is a reserved keyword.常规标识符和分隔标识符包含的字符数必须在 1 到 128 之间。对于本地临时表,标识符最多可以有 116 个字符。两者重要的区别:常规标识符必须严格遵守命名的规定,而分隔标识符则可以不遵守命名规定,只要用[],""分隔出来就可以。标识符格式:
1、标识符必须是统一码(Unicode)2.0标准中规定的字符,以及其他一些语言字符。如汉字.
2、标识符后的字符可以是(除条件一)“_”、“@”、“#”、“$”及数字。
3、标识符不允许是Transact-SQL的保留字。
4、标识符内不允许有空格和特殊字符。
另外,某些以特殊符号开头的标识符在SQL SERVER 中具有特定的含义。如以“@”开头的标识符表示这是一个局部变量或是一个函数的参数;以#开头的标识符表示这是一个临时表或是一存储过程。以“##”开头的表示这是一个全局的临时数据库对象。Transact-SQL的全局变量以“@@”开头。标识符最多可以容纳128个字符。
sql语句引号用法
1、首先先来说一下单引号和反引号,这里的 '图书ID' 就使用到了单引号,而 2、CREATE TABLE `book` 这里的 book 就使用到了反引号。3、单引号:在例子中的条件值周围使用的是单引号。SQL 使用单引号来环绕文本值。如果是数值,请不要使用引号。按照别的说法来说就是Varchar类型(也可以说是Strin...
SQL查询语句中单引号和双引号的问题
1. 在SQL中,字符串数据应当使用单引号括起来。2. 双引号通常用于引用数据库中的对象名称,如表名、列名或函数名。3. 如果在SQL查询中需要使用双引号包围的字符串,需要在双引号前加上反斜杠(\),例如 `'SELECT \"This is a test\" FROM table'`。4. 相反地,如果要在双引号内的文本中包含...
SQL中什么情况下用引号
查询条件为文本格式时要求用引号,如varchar、char类型等,反之数值格式不要加引号,如bit、double、float、int类型等。举个例子slecet * from A where id='1'slecet * from A where id=1这两个的区别在于第一条id是字符型的,第二条id为数值型的 ...
sql中单引号跟双引号有什么区别?分别用于什么情况?
1. SQL语言中只允许使用单引号来标记字符串常量。2. 你在这里提到的双引号是其他编程语言中使用的符号,与SQL无关。3. 如果你尝试在SQL查询中使用双引号,结果会是语法错误。4. 正确的SQL语句应该像这样:`SELECT * FROM clients WHERE logname='xxx' AND password='yyy';`5. 不要将其他编程语言...
sql语句引号用法
2. 单引号:在例子中的条件值周围使用的是单引号。在SQL中,单引号用于环绕文本值。如果是数值类型,请不要使用引号。换句话说,像Varchar类型(或者说String、字符串类型)这样的数据类型在数据库语句中使用时应该使用单引号,而不是直接使用。对于数值类型的字段,则不应使用单引号。3. 反引号:引入...
sql语句中什么时候用单引号什么时候用双引号?如图中的红为什么用双引号...
一般都用单引号,但是SQL单引号双引号都认为是字符串,这二种他都识别,你就当他是一种东西好了.但是在其它语言编辑器写程序就只能用单引号,原因就是你所用的编辑器自己也有双引号在拼写SQL的时如果也出现双引的话就会错
SQL中什么情况下用引号
查询条件为文本格式时要求用引号,如varchar、char类型等,反之数值格式不要加引号,如bit、double、float、int类型等。举个例子slecet from a where id='1'slecet from a where id=1这两个的区别在于第一条id是字符型的,第二条id为数值型的 ...
sql语句什么时候用双引号或者单引号
在数据库端,SQL语句引用字符型参数时需要对其加单引号,有些数据库例如ACCESS的查询对象里,可以直接使用双引号或单引号,当外层已经使用双引号的情况下,对内层的字符型参数则需要使用单引号。请注意MSSQL和MySQL这类大中型数据库只接受单引号,双引号属于普通字符。另外应用程序端,一般都使用双引号引用...
sql中什么时候需要用双引号,什么时候用单引号;
abc='I love u';echo $abc //结果是:I love uecho '$abc' //结果是:$abc echo "$abc" //结果是:I love u 2,所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."3,但是SQL语句中会有单引号把字段名引出来 例如:select * from table...
SQL中引号标识符QUOTED_IDENTIFIER的作用
在SQL中使用引号标识符 (SET QUOTED_IDENTIFIER ON) 功能,允许在查询中使用双引号表示对象标识符,如表名、列名等。此举提供对象标识符包含空格或保留关键字的灵活性与可读性。通常情况下,开启此设置有助于解决以下几种问题:1. 使用包含空格或特殊字符的对象名称时,无需使用圆括号包围,使代码更易于...