sql的引号
Ⅰ sql语句中有单引号怎么办
如果插入的数据中包含单引号,就需要处理,用户可以将单引号替换成两个单引号,在sql
中连续两个单引号就表示一个单引号字符,例如:
insert into yourTable(f1,f2) values(100,'ab''c')表示插入
新记录f2字段为ab'c
使用函数replace可以实现这个功能:
replace(yourStr,"'","''")
在.NET里面,就要先检测输入的数据中有没有单引号了,如果有,就要自动设置将一个单引号改为两个单引号。
(1)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语句什么时候加引号
明显不对。
select...是sql语句。
$_post...是php语句。
如果你写的是sql语句,那就不能有$_post[]
如果你写的是php语句,那就应该把其中的sql语句部分作为一般的字符串处理:
$sql = "select * from a where `name`=";
$sql .= $_post['name'];
然后再用php的sql library的function来运行这个字符串$sql
在纯sql语句中,如 爱老婆 所说,字段名加`或者什么也不加;字符类型的数值加单引号。
在php语句中,由于sql部分被认为是字符串,所以要加单/双引号。但因为sql语句中,本身可能包含单引号,所以为了分辨,必须用双引号。
而$_post['name']的意思是,php在载入页面的时候,把所有用html的post方法得到的变量都放入了一个叫_post的数组中。$_post['name']就是调用_post数组中,名称为字符串name的那个变量的值。
Ⅲ 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:" ' "
字符串之间用 . 来连接。
Ⅳ sql中单引号跟双引号有什么区别分别用于什么情况
你如果一串变量字符中要加入自己的字符必须用单引号来转换,而双引号只是简单的字符!
Ⅳ 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='select
*
from
table
where
table.XX=''0''
and
..........'
0两侧的双引号分别代表一个单引号
Ⅶ SQL中什么情况下用引号
查询条件为文本格式时要求用引号,如varchar、char类型等,反之数值格式不要加引号,如bit、double、float、int类型等。举个例子slecet * from A where id='1'slecet * from A where id=1这两个的区别在于第一条id是字符型的,第二条id为数值型的
Ⅷ sql中双引号用在哪些范围
sql
里
双引号
都是别的程序调用sql需要用双引号括起来传给
sqlserver
,sqlserver才能识别,
sql语言
中基本是不需要用双引号的,只有在申明你输入的这串文字是字符串的时候有单引号括起来
Ⅸ 在SQL中怎么把单引号打出来
只是单引号的话楼下说的没错,如果你要找的是系统自动加的那个像顿号的键的话,下面的内容就是答案:
首先也是英文输入状态,然后点tab键上那个,就是esc键下面那个,也是数字1左边那个键就是你要找的”`“键了。这回明白了吧!
Ⅹ 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:" ' "
字符串之间用 . 来连接。