SQL中什么情况下用引号

SQL中什么情况下用引号,第1张

查询条件为文本格式时要求用引号,如varchar、char类型等,反之数值格式不要加引号,如bit、double、float、int类型等。举个例子slecet from A where id='1'slecet from A where id=1这两个的区别在于第一条id是字符型的,第二条id为数值型的

set quoted_identifier off

go

在程序关加上这段代码,双引号就会被SQL识别。

引用帮助:“

使 Microsoft® SQL Server™ 遵从关于引号分隔标识符和文字字符串的 SQL-92 规则。由双引号分隔的标识符可以是 Transact-SQL 保留关键字,或者可以包含 Transact-SQL 标识符语法规则通常不允许的字符。

语法

SET QUOTED_IDENTIFIER { ON | OFF }

注释

当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须遵守所有 Transact-SQL 标识符规则。有关更多信息,请参见使用标识符。文字可以由单引号或双引号分隔。

SQLServer使用两个单引号之间的部分,来表示一个字符串,select from ADO where z1 > '2015/2/12 11:00:57',这个语句z1是datetime类型的,数据库引擎将单引号之间的部分(也就是2015/2/12 11:00:57这个部分),先隐式转换为datetime类型,然后再跟z1进行比较运算,你写的这个语句完全等价于select from ADO where z1 > CONVERT(datetime,'2015/2/12 11:00:57')

这个不是三引号,而是一个单引号,一个双引号,双引号是你这句代码中拼接字符串用的,因为你的userinfologinname

是个变量,如果是个写死的字符串可以直接where

loginname='admin'

set @str=''

这里是 为 @str 这个变量,设置一个初始的值, 为 长度为0的字符串。

目的是,万一下面的

select @str=@str+ cast(学号 as varchar(100))+ ','

from table2 where 班级=@int

没有记录

那么 再下面的

Set @str = SubString(@str,1,len(@str)-1)

不会发生异常。

否则的话,一个变量,没有初始化, 对这个变量,执行

SubString(@str,1,len(@str)-1)

的 *** 作, 将导致异常发生。

以上就是关于SQL中什么情况下用引号全部的内容,包括:SQL中什么情况下用引号、谁能帮我解决想数据库插入单引号的问题、SQLServer 数据库的特殊符号是怎么用的比如单引号和双引号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9437293.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存