当前位置:首页 » 编程语言 » sql中的引号

sql中的引号

发布时间: 2023-05-22 08:18:11

sql中双引号 " 单引号' 反单引号`的作用和区别

双引号在最外层,是用来包含这个SQL语句的,单引号是用来包含字符串的,当表中的字段为char或者varchar时,数据要用单引号包括起来。这两个想必学过的都很容易理解,让人困惑的是倒引号(反单引号)用来干嘛的呢,其实是我们在命名字段的时候,字段名与SQL关键字冲突了,这时候要用倒引号包含一下来规避关键字检测,这种情况对一个合格的程序员来说要尽量避免。

㈡ SQL中什么情况下用引号

在标准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、标识符内不允许有空格和特殊字符。

另外,某些以特殊符号开头的标识符在SQLSERVER 中具有特定的含义。如以“@”开头的标识符表示这是一个局部变量或是一个函数的参数;以#开头的标识符表示这是一个临时表或是一存储过程。以“##”开头的表示这是一个全局的临时数据库对象。Transact-SQL的全局变量以“@@”开头。标识符最多可以容纳128个字符。

㈢ sql中单引号跟双引号有什么区别分别用于什么情况

你如果一串变量字符中要加入自己的字符必须用单引号来转换,而双引号只是简单的字符!

㈣ sql语句里面的引号怎么用啊

'' 是 ' 的转义
只需理解括号里的内容就可以了,括号里的是一个 拼接的sql语句。
由5个部分拼接。A B C D E
A: insert into #tmpStore select store_code from sys_store_dict where store_code in (
B: @store_code
C:) and comp_code='
D:@comp_code+
E:’
其实你只要把最后一部分理解了就好办了。最后一部分 是 ‘’‘’ 四个单引号
中间两个 ‘’ 是 ‘ 的转义。因为是字符串拼接,所以左右各套了一个 ‘。所以一共是4个。
希望能对你有帮助

㈤ SQL中什么情况下用引号

除了数字类型为都应该用引号,如日期就应该用引号
'2012-12-12'
数字类型:bigint
bit
decimal
float
double
money
numric
real
smallint
tinyint
其他都应该加引号
如果变量是字符串类型,但要橡滚穗给它赋值时是数字的,可以不加引号,为了规范性,还是要用双引号
bit类型比较特殊,如果用脚本写的话,用1表示值,用0表示假,所以也可以不用双引号
如果变量是数字类型的,那给他赋值可以加双引号,但没有那个必要
希望回答对你有梁卜帮助备派

㈥ SQL语言中的单引号与双引号区别

SQL语句中的单引号与双引号区别和应用

1 连接字符&号:ASP中&号的主要作用是用来连接的,包括:字符串-字符串、字符串-变量、变量-变量等混合连接。

2 单引号':正如学习语文课一样,继续放在双引号中的引号可以采用单引号。

3 双引号"" :ASP中处在双引号中的可以是任意的字符、字符串,HTML代码。

例子:

v代表变量

V对于数字 例子:var1.asp

qSQL=“select * from 股票行情表 where 收盘价>”&V

V对于字符串 例子:var2.asp

qSQL=“select * from 股票行情表 where 股票代号=‘”&V&”’”

V对于日期时间 例子:var3.asp

qSQL=“select * from 买卖记录 where 买卖日期=#”&V&”#”

单引号与双引号的区别:

双引号里面的字段会经过编译器解释,然后再当作HTML代码输出;单引号里面的不需要解释,直接输出。也就是说双引号中的变量会被解析,单引号里的变量不会被解析。

查询语句中的字段如果是文本型就要用单引号,数字型(整型)的才不要单引号,简言之,一个SQL查询语句用双引号括起来,里面的SQL语句中的字符变量用单引号括起来。而Dreamweaver UltraDev 4软件中自动生成的语句默认都是数字型的,所以会出现错误号0x80040E10的提示。

首先要知道,引号是成对出现的.这个就和语文中学到的一样.引号里面的是一段字符串,我们把这段看成一个整体.引号外面的是变量,这个也看成一个整体,而变量也必须是在引号外面的,&是连接符,是用来连接两个整体的

有时候单引号括起来是字符,Sql中 单引号也做转义字符

双引号是字符串,char和string

……………………………………………………………………

在SQL语句 双引号,单引号连用怎么理解,???

StrSql="select * from usersheet where loginname=' "+Login1.UserName+" ' and userpass=' "+Login1.PassWord+" ' "

就谈下边的这个例子把

问题补充:' "+Login1.UserName+" '

这个里边的单双引号怎么解释 还有+号 !!

提问者: netswords - 助理 二级

最佳答案

loginname 指的就是一个变量名<与数据库里的字段匹配>,

而' "+Login1.UserName+" ' 就是你输入的值,

假如只有单引号,系统会认为变量就是Login1.UserName,

而这个值是固定的,然而我们需要的是一个变量,所以就得再加一个双引号,

至于 ‘+’ 就是连接字符串的意思、、

***************8上面的是网上的解释 ************

**************8下面是我的程序**********************

strSQL1 = "select * from design where "+rbtnField.SelectedValue+" like '%李大线%' ";
strSQL2 = "select * from design where result like '%李大线%' ";

strSQL1 显示的 结果 select * from design where result like '%李大线%'

strSQL1 显示的 结果 select * from design where result like '%李大线%'

上面这两句话这个时候完全相同 ,可以实现查询。

如果是下面的情况就不一样了~~~

strSQL1 = "select * from design where ' "+rbtnField.SelectedValue+" ' like '%李大线%' ";
strSQL2 = "select * from design where result like '%李大线%' ";

strSQL1 显示的 结果 select * from design where 'result' like '%李大线%'

strSQL1 显示的 结果 select * from design where result like '%李大线%'

SqlCommand mycomm = new SqlCommand("select * from design where "+rbtnField.SelectedValue+" like '%李大线%' ", conn); 这个时候可以完成模糊搜索。。

strSQL1 = " select * from design where "+rbtnField.SelectedValue+ " = ' "+Textkeyword.Text+ " ' ";

strSQL 2= "select * from design where "+rbtnField.SelectedValue+ " = "+Textkeyword.Text+ " "

select * from design where kv = '35'

strSQL1 显示的 结果 select * from design where kv = '35'

strSQL1 显示的 结果 select * from design where kv = 35

这个时候的strSQL1和strSQL2是等价的,都可以用于查询。。

看样子,至少我的例子中,单引号' '是没有任何作用的,只有麻烦,以后尽量不用

㈦ SQL 中 单引号和双引号的区别

表示你的字符串中含有引号。单引号在sql语句中,一个'用两个连续的''替换。双引号则不需要特殊处理。

㈧ sql语句中有单引号怎么办

如果插入的数据中包含单引号,就需要处理,用户可以将单引号替换成两个单引号,在sql
中连续两个单引号就表示一个单引号字符,例如:

insert into yourTable(f1,f2) values(100,'ab''c')表示插入

新记录f2字段为ab'c

使用函数replace可以实现这个功能:

replace(yourStr,"'","''")

在.NET里面,就要先检测输入的数据中有没有单引号了,如果有,就要自动设置将一个单引号改为两个单引号。

(8)sql中的引号扩展阅读:

sql语句举例:

sql="select * from 数据表 where字段名in ('值1','值2','值3')"

sql="select * from 数据表 where 字段名 between 值1 and 值2"

sql="update 数据表 set字段名=字段值 where 条件表达式"

sql="delete from 数据表 where 条件表达式"

sql="delete from 数据表" (将数据表所有记录删除)

㈨ sql语句什么时候用双引号或者单引号

在数据库端,SQL语句引用字符型参数时需要对其加单引号,有些数据库例如ACCESS的查询对象里,可以直接使用双引号或单引号,当外层已经使用双引号的情况下,对内层的字符型参数则需要使用单引号。请注意MSSQL和MySQL这类大中型数据库只接受单引号,双引号属于普通字符。
另外应用程序端,一般都使用双引号引用字符型参数。SQL语句都被看做字符串参数,作为SQL语句内部的字符型参数就必须使用单引号,以做与应用程序字符串引用的区别。

㈩ sql中什么时候需要用双引号,什么时候用单引号

这就要从双引号和单引号的作用讲起:

1,双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出。例如:

$abc='I love u';
echo $abc //结果是:I love u
echo '$abc' //结果是:$abc
echo "$abc" //结果是:I love u

2,所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."

3,但是SQL语句中会有单引号把字段名引出来

例如:select * from table where user='abc';

这里的SQL语句可以直接写成SQL="select * from table where user='abc'"

4,但是如果象下面:

$user='abc';
SQL1="select * from table where user=' ".$user." ' ";对比一下
SQL2="select * from table where user=' abc ' "

5,我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。

也就是把'abc' 替换为 '".$user."'都是在一个单引号里面的。只是把整个SQL字符串分割了。

SQL1可以分解为以下3个部分

1:"select * from table where user=' "
2:$user
3:" ' "

字符串之间用 . 来连接。

热点内容
8加6算法 发布:2024-05-18 15:04:25 浏览:737
名图16款尊享什么配置 发布:2024-05-18 14:55:37 浏览:584
我的世界怎样刷出32k服务器 发布:2024-05-18 14:32:32 浏览:565
c语言程序设计江宝钏 发布:2024-05-18 14:32:22 浏览:780
右击文件夹总是转圈圈 发布:2024-05-18 14:31:10 浏览:696
新建数据库phpmyadmin 发布:2024-05-18 14:22:38 浏览:736
安卓手机设备连接在哪里 发布:2024-05-18 14:08:28 浏览:820
路由器的密码最多是多少位 发布:2024-05-18 13:58:18 浏览:420
扫描服务器名称如何填 发布:2024-05-18 13:36:29 浏览:115
芒果缓存的视频看不了视频怎么下载不了 发布:2024-05-18 13:35:14 浏览:520