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/1