Access中数据库转义字符规则:
插入、更新、=匹配 数据时,文本类型如用''括起来,中间可以有 ",*,%,[,],/,/,?,(,),{,}的任意组合,如要插入一个',需写''并在整个表达式外套一对''
如,插入 '张''三',数据库里就是 张'三,用方括号是不可以的
插入、更新、=匹配 数据时,文本类型如用""括起来,中间可以有 ',*,%,[,],/,/,?,(,),{,}的任意组合,如要插入一个',需写''并在整个表达式外套一对""
如,插入"张""三",数据库里是 张"三
模糊匹配时,文本类型用''括起来,中间可以有 ",*,],/,/,(,),{,}任意组合,对[,%,?,需要在每个特殊符号左右紧跟着套一对[],
如要匹配[?,应写 Like '%[[][?]%',不能写 Like '%[[?]%',后者会匹配含有[或?的记录,而[?不一定会匹配到紧挨一起。
总结:
插入、更新、等于匹配 数据时,统一将文本类型用''括起来,只需要将待插入表达式中的'转化为''
在模糊匹配时,文本类型统一用''括起来,将'转为'',同时对每一个[,%,?,都用一对方括号括起来
示例:
insert into Test(Name) values("用'双''引//*%%_[[]号""括起来")
插入记录 用'双''引//*%%_[[]号"括起来
insert into Test(Name) values('用"""单''撇[({/*%}]号括起来')
插入记录 用"""单'撇[({/*%}]号括起来
select * from Test where Name like '*[%][%]?[[]*'
查找含有 %%?[ 的字符串 ?表示一个字符,*匹配任意个字符,程序中要写%
select * from Test where Name like '*双''''*'
查找含有 双'' 的字符串
参考网址
http://www.jb51.net/article/9280.htm
http://topic.csdn.net/t/20051018/10/4333207.html
http://access911.net/index.asp?u1=a&u2=71FAB01E10DCEFF3
http://topic.csdn.net/u/20090828/15/e8e21e28-0ed0-47f2-b916-cac41d9589db.html
http://zhidao.baidu.com/question/18060589.html