sql语句中单引号,双引号的处理方法篮球世界杯在

下面我们就分别讲述,虽然说的是Insert语句, 但是Select、Update、Delete语句都是一样的。 假如有下述表格: mytabe 字段1 username 字符串型 字段2 age 数字型 字段3 birthday 日期型 字段4 marry 布尔型 字段5 leixing 字符串型 1. 插入字符串型 假如要插入一个名为张红的人,因为是字符串,所以Insert语句中名字两边要加单撇号,如: strsql=“Insert into mytable(username) values(‘张红')” 如果现在姓名是一个变量thename,则写成 strsql=”Insert into mytable(username) values(‘” & thename & “')” 这里Insert into mytable(username) values(‘是张红前面的部分,thename是字符串变量,') 是张红后面的部分。将thename变量替换成张红,再用&将三段连接起来,就变成了 strsql=“Insert into mytable(username) values(‘张红')”。如果要插入两个字段,如姓名为“张红”,类型为“学生” strsql=“Insert into mytable(username,leixing) values(‘张红','学生')” 如果现在姓名是一个变量thename,类型也是一个变量thetype,则写成: strsql=”Insert into mytable(username,leixing) values(‘” & thename & “','” & thetype & “')” 和第一个例子一样,将thename和thetype替换后,再用连接符,就连接成和上面一样的字符串了。 2. 插入数字型 假如插入一个年龄为12的记录,要注意数字不用加单撇号: strsql=“Insert into mytable(age) values(12)” 如果现在年龄是一个变量theage,则为: strsql=“Insert into mytable(age) values(“ & theage & “)” 这里Insert into mytable(age) values(是12前面的部分,theage是年龄变量,)是12后面部分。 将theage替换,再用&连接符将三部分连接起来,就变为了和上面一样的字符。 3. 插入日期型 日期型和字符串型类似,但是要将单撇号替换为#号。 strsql=“Insert into mytable(birthday) values(#1980-10-1#)” 如果换成日期变量thedate strsql=“Insert into mytable(birthday) values(#” & thedate & “#)” 4. 插入布尔型 布尔型和数字型类似:只不过只有两个值 True和False,如: strsql=“Insert into mytable(marry) values(True)” 如果换成布尔变量themarry strsql=“Insert into mytable(birthday) values(” & themarry& “)” 5. 综合示例 插入一个姓名为张红,年龄为12的记录 strsql=“Insert into mytable(username,age) values(‘张红',12)” 仔细注意上式:因为姓名是字符串,所以张红两边加了单撇号;年龄是数字,所以没有加单撇号。 如果换成字符串变量thename和数字变量theage,则变为: strsql=“Insert into mytable(username,age) values(‘” & thename & “',” & theage & “)” 注意上式,总之,替换变量,再连接后要完成和上边一样的字符串。 6. 小窍门 有一位同学摸索出了一个小窍门,要把下面的语句题换成变量的写法: strsql=“Insert into mytable(username) values(‘张红')” 第一步:先把张红抹去,在原位置加两个引号 strsql=“Insert into mytable(username) values(‘” “')” 第二步:在中间添加两个连接符& strsql=“Insert into mytable(username) values(‘” & & “')” 第三步:把变量写在两个连接符之间 strsql=“Insert into mytable(username) values(‘” & thename & “')” -

sql 双引号和单引号

分隔符仅用于标识符。分隔符不能用于关键字,不论它们在 SQL Server 中是否被标记为保留字。 被引用的标识符用双引号 () 分隔开: SELECT * FROM Blanks in Table Name括在括号中的标识符用方括号 ([ ]) 分隔: SELECT * FROM [Blanks In Table Name]当 QUOTED_IDENTIFIER 为 ON 时,对于 SQL 语句中的双引号和单引号 (') 的使用,SQL Server 遵循 SQL-92 规则: 双引号只能用于分隔标识符,不能用于分隔字符串。 为保持与现有应用程序的兼容性,SQL Server 并不完全强制该规则。如果字符串没有超过标识符的长度,则该字符串可包含在双引号内。但不建议这样做。单引号必须用来包含字符串,不能用于分隔标识符。 如果字符串包含单引号,则需要在单引号前再增加一个单引号:SELECT * FROM My TableWHERE Last Name = 'O''Brien'

当 QUOTED_IDENTIFIER 为 OFF 时,对于双引号和单引号的使用,SQL Server 遵循如下规则:

引号不能用于分隔标识符,而是用括号作为分隔符。 单引号或双引号可用于包含字符串。 如果使用双引号,嵌入的单引号不需要用两个单引号来表示: SELECT * FROM [My Table]WHERE [Last Name] = O'Brien

1)先来看一个最简单的SQL语句 Insert Into users(username) values(小王) 大家来看一下,这是一个标准的SQL语句,因为username是文本型字段,所以字段值两边要加双引号,表示小王是一个字符串。

可是在ASP中,我们通常这样写 strSql=Insert Into users(username) values('小王') 此时,前后的双引号表示中间是一个字符串。而小王两边的单引号是因为发生了引号嵌套,所以内层引号该为了单引号。

实际插入时,因为小王通常是从表单中获取的变量,不过因为变量不能直接写入字符串,必须通过连接符和字符串连接在一起,所以要写成如下形式: myusername=Request.Form(username) strSql=Insert Into users(username) values(' myusername ') 很多人此时就糊涂了,为什么其中又有单引号,又有双引号啊。简单的看上面的式子,其实是由如下三部分组成的: 字符串常数:Insert Into users(username) values(' 字符串变量:myusername 字符串常数:')

直接理解上面的式子可能比较困难,现在我们变量myusername的值代入就能看清楚了。假如myusername=小王,代入: strSql=Insert Into users(username) values(' 小王 ') 然后依次执行其中的连接运算符,结果为: strSql=Insert Into users(username) values('小王') 这就是中提到的正确的SQL语句。

到此就能看清楚了: 式子中第1、2个双引号配套,表示这是一个字符串。第3、4个双引号配套,也表示是一个字符串。 而式子中的单引号就是文本型字段值小王前后的单引号。

上面只有一个字段,下面来看一个有两个字段的情况: strSql=Insert Into users(username,password) values(' myusername ',' mypassword ') 其中 myusername 和mypassword 是变量。

本文由美洲杯在哪买球发布于计算机教程,转载请注明出处:sql语句中单引号,双引号的处理方法篮球世界杯在

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。