SQL中存储过程中SQL语句的单引号和双引号问题.pdf
《SQL中存储过程中SQL语句的单引号和双引号问题.pdf》由会员分享,可在线阅读,更多相关《SQL中存储过程中SQL语句的单引号和双引号问题.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQLSQL 中存储过程中中存储过程中 SQLSQL 语句的单引号和双引号问题语句的单引号和双引号问题(2)(2)关于 SQL 语句中的双引号、单引号和(1)先来看一个最简单的SQL 语句 Insert Into users(username) values(小王)大家来看一下,这是一个标准的SQL 语句,因为 username 是文本型字段,所以字段值两边要加双引号,表示小王是一个字符串。(2)可是在 ASP 中,我们通常这样写 strSql=Insert Into users(username) values(小王)此时, 前后的双引号表示中间是一个字符串。 而小王两边的单引号是因为发生了
2、引号嵌套,所以内层引号该为了单引号。(3)实际插入时,因为小王通常是从表单中获取的变量,不过因为变量不能直接写入字符串,必须通过连接符和字符串连接在一起,所以要写成如下形式: myusername=Request.Form(username) strSql=Insert Into users(username) values( & myusername & )很多人此时就糊涂了,为什么其中又有单引号,又有双引号啊。简单的看上面的式子,其实是由如下三部分组成的:字符串常数:Insert Into users(username) values(字符串变量:myusername字符串常数:)直接理解
3、上面的式子可能比较困难, 现在我们变量 myusername 的值代入就能看清楚了。假如 myusername=小王,代入: strSql=Insert Into users(username) values( & 小王 & )然后依次执行其中的连接运算符,结果为: strSql=Insert Into users(username) values(小王)这就是(2)中提到的正确的SQL 语句。 到此就能看清楚了: 式子中第 1、2 个双引号配套,表示这是一个字符串。第3、4 个双引号配套,也表示是一个字符串。而式子中的单引号就是文本型字段值小王前后的单引号。(4)上面只有一个字段,下面来看一
4、个有两个字段的情况: strSql=Insert Into users(username,password) values( & myusername & ,mypassword & )其中 myusername 和 mypassword 是变量。现在假如 myusername=小王,mypassword=123456,代入其中,结果为: strSql=Insert Into users(username,password) values( & 小王 & , &123456 & )依次执行连接运算,结果为: strSql=Insert Into users(username,password)
5、 values(小王,123456)(5)文本型字段值两边加引号,日期型两边加 #,数字、逻辑两边什么都不用加。如下面 age 是数字,submit_date 是日期型。 strSql=Insert Into users(username,password,age,submit_date) values( &myusername & , & mypassword & , & myage & ,# & mysubmit_date & #)注意这里根据字段的类型两边加上相应的符号,或者不加。假如myusername=小王,mypassword =123456,myage=20,mysubmit_d
6、ate=2004-4-1,代入其中,结果为: strSql=Insert Into users(username,password,age,submit_date) values( &小王 & , & 123456 & , & 20 & ,# & 2004-4-1 & #)这里的 20 很特殊, 运算时, 首先会自动转换为字符串, 因为这里参与运算的都是字符串。结果为: strSql=Insert Into users(username,password,age,submit_date) values( &小王 & , & 123456 & , & 20 & ,# & 2004-4-1 & #
7、)依次执行连接运算,结果strSql=Insert Into users(username,password,age,submit_date) values (小王,123456,20, #2004-4-1#)这正是我们需要的标准的SQL 语句。关于关于 InsertInsert 字符串字符串很多同学都在这个方面发生了问题, 其实主要是因为数据类型和变量在作怪。 下面我们就分别讲述,虽然说的是Insert 语句,但是Select、Update、Delete 语句都是一样的。假如有下述表格: mytabe字段 1 username字符串型(姓名)字段 2 age数字型(年龄)字段 3 birth
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 存储 过程 语句 单引号 双引号 问题
限制150内