Access 数据库中转义字符的规则总结

2017-08-31 17:35:00
黄善超
转贴:
icycode的CSDN博客
358


在插入、更新、=匹配 数据时

1、文本类型如果用''括起来,中间有 ",*,%,[,],/,/,?,(,),{,}的任意组合,如果需要插入一个',需写''并在整个表达式外套一对''
如,插入 '张''三',数据库里就是 张'三,用方括号是不可以的

2、文本类型如果用""括起来,中间有 ',*,%,[,],/,/,?,(,),{,}的任意组合,如果需要插入一个',需写''并在整个表达式外套一对""
如,插入"张""三",数据库里是 张"三


在模糊匹配时:

文本类型用''括起来,中间有 ",*,],/,/,(,),{,}任意组合,对[,%,?,需要在每个特殊符号左右紧跟着套一对[],
如要匹配[?,应写 Like '%[[][?]%',不能写 Like '%[[?]%',后者会匹配含有[或?的记录,而[?不一定会匹配到紧挨一起。


总结:

在插入、更新、=匹配 数据时,统一将文本类型用''括起来,只需要将待插入表达式中的'转化为''
在模糊匹配时,文本类型统一用''括起来,将'转为'',同时对每一个[,%,?,都用一对方括号括起来



示例:

insert into Test(Name) values("用'双''引//*%%_[[]号""括起来")
插入记录  用'双''引//*%%_[[]号"括起来


insert into Test(Name) values('用"""单''撇[({/*%}]号括起来')
插入记录  用"""单'撇[({/*%}]号括起来


select * from Test where Name like '*[%][%]?[[]*'

查找含有 %%?[ 的字符串  ?表示一个字符,*匹配任意个字符,程序中要写%


select * from Test where Name like '*双''''*'

查找含有 双'' 的字符串



分享