如何正确使用ACCESS的方括号[]等通配符  

有人咨询一个简单的access问题,如果文本字段中包含[],如何将它搜索出来.冷不丁一看很简单,写起来才知道坑很深.

access的特殊符号跟SQLServer类似,[]算是通配符的一种.可以用来匹配某区间中任意一个字符.例如可以用 [30c].org  匹配   3.org 0.org c.org ,编码还算简单方便.

但是现在问题出在如果数据表中的数据包含[],匹配符微软没有提供转义,例如    欢迎来到[30c.org]访问  这样的文字,下面的代码无法得到正确结果

SELECT * FROM clovetables WHERE sitedescription ='欢迎来到[30c.org]访问'
或者
SELECT * FROM clovetables WHERE sitedescription LIKE '欢迎来到[30c.org]访问'

微软的官方文档也没有提及这个问题,只有这么几个类型.篇幅问题我就不转文章了,如下图  微软传送门

image 最后的解决办法我提供了下面几个:

1.保存内容之前就进行替换.显示时把它替换回来.一般用access的程序大部分都支持chr()这样的函数.而用户输入内容是无法输入类似符号的.搜索条件同样替换就可以了

2.同方法1,但是把保存的内容保存两份.一份是标准的.一份是替换以后的.查询时搜索条件也替换,然后把查询到的结果读取到前台编程语言中再进行比对.

目前考虑到的这两种方式都不是很简便,希望谁有更合适的方法可以贴出来大家分享一下.thanks

PS: 提供一个access的查询分析器  小巧好用    传送门

请订阅本站 RSS feed 订阅到信箱 ,欢迎 Donate 或者 上面的广告内容 支持三十岁

本文链接:如何正确使用ACCESS的方括号[]等通配符

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:三十岁,谢谢!^^


分享到:          
评论关闭