sql括号转义
在存储过程中,密码中有’(单引号),第一反应使用转义字符。敲上/(反斜杠),失败告终; 网络一下如下结果,SQL 的转义字符是:'(单引号),所以在密码中写’’(两个单引号),表示一个单引号。C++ 的转义字符是:\SQL 的转义字符是:'(单引号)例:select * from tbl where uyear='''06'请注意其中红色背景的单引号,它即表示转义字符,如果我们省略,则整个语句会出错,转义字符不会输出,上例中 uyear 的实际条件值为 '06,而不是 ''06为什么不能省略呢,假如我们省略,上句变成:select * from tbl where uyear=''06'由于在 SQL 中单引号表示字符串的开始和结束符号,于是 SQL 解释器会认为语句中灰色背景的为字符串,其后的语句显然是个错误的语句,当然会报错,为了解决字符串的单引号问题,就出现了转义字符单。
⑵ sql server怎么转义单引号和双引号
当SET QUOTED_IDENTIFIER OFF时, "是字符串边界符, 字符串中的"必须用两个"表示。
vb: "" <=> "
sql server 2000: ''' <=> '
eg:
declare @SearchType nvarchar(50)
declare @SearchString nvarchar(255)
declare @SearchKey nvarchar(50)
declare @SearchSql nvarchar(2000)
set @SearchType = '2'
set @SearchKey = 'd'
set @SearchString = CASE @SearchType
when '1' then '1 = 1'
when '2' then 'p.ProjectName like ''' + '%' + @searchkey + '%' + ''''
when '3' then 'p.ProjectCity like ''' + '%'+ @searchkey + '%' +''''
when '4' then 'c.CateName like ''' + '%' + @searchkey + '%' + ''''
when '4' then 'p.ProjectManager like ''' + '%' + @searchkey + '%' +''''
END
set @SearchSql = N'
SELECT p.*,datename(year,ProjectPostTime)+ ' + '''-''' + ' + datename(month,ProjectPostTime)+ '+ '''-''' + ' + datename(day,ProjectPostTime)' + ' as PostTime, m.EmpName,c.CateName FROM proProject As p ,mrBaseInf As m ,proCate c WHERE p.EmpID = m.EmpID and p.CateID = c.CateID and '
+ @SearchString
print(@SearchSql)
exec(@SearchSql)
⑶ SQL语句的字符串中有括号怎么转义
没看出你说的括号在哪里,倒是少了一个'*'和若干空格
set @ss=('select top 1 * from (select top '+@string+' * from Table1)order by id desc')
⑷ sql数据库语句中点号.怎么转义
转义要看情况,如果是你的库名、表明、字段名含有关键字或是不符合命名标准
即含字母数字下划线,都需要用[]括起来,以数字开头的也要用[]括起来
ESCAPE是用来转义字段内容的,比如说你要查询A字段里有_的内容
通常写法A like '%_%'由于_是通配符,这样系统就混乱了
所以需要escape转义 A like '%!_%' escape '!' 这样就能将_视为一个普通字符了