如何正确使用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]访问'
微软的官方文档也没有提及这个问题,只有这么几个类型.篇幅问题我就不转文章了,如下图 微软传送门
1.保存内容之前就进行替换.显示时把它替换回来.一般用access的程序大部分都支持chr()这样的函数.而用户输入内容是无法输入类似符号的.搜索条件同样替换就可以了
2.同方法1,但是把保存的内容保存两份.一份是标准的.一份是替换以后的.查询时搜索条件也替换,然后把查询到的结果读取到前台编程语言中再进行比对.
目前考虑到的这两种方式都不是很简便,希望谁有更合适的方法可以贴出来大家分享一下.thanks
PS: 提供一个access的查询分析器 小巧好用 传送门
分享到: | |
没有评论