Access模糊查询

ACCESS模糊查询出现的问题,开发中需要注意!
在SQL Server中模糊查询通常是这样的Select * from articleTable where authorName like '%jacky%'
但是在Access中用这条语句执行的时候竟然发现查不出结果,怎么可能呢?

后来查了下资料,发现问题如下:
要进行模糊查找,则必须使用通配符,ACCESS库的通配符和SQL SERVER的通配符不一样。


ACCESS库的通配符为:
*  与任何个数的字符匹配。
?  与任何单个字母的字符匹配
在SQL Server中的通配符为:
% 与任何个数的字符匹配
-  与单个字符匹配

正确写法应是:

在C#里写应写成 Select * From Table Where Name Like '%jacky%' 

                    Select * From Table Where Name Like '_jacky_' 

Access内测试语句应写成 : Select * From Table Where Name Like '*jacky*' 

                                   Select * From Table Where Name Like '?jacky?'

一般我们在程序里写模糊查询时都是写成如下这样:
Select * from table where txtTitle like '%脚本之家%'
不管连接的数据库是ACCESS还是SQL Server
但是最近写程序时总出现语句正确,但就是出不来结果的情况,比如:手动简单设置服务器安全,及引发的思考,这里提到我写服务查询时总是出不来结果的情况,时间长了,出这问题多了,我发现一个问题,如果按上面的写法写到程序里都是正确的,但是如果用ACCESS里的“查询”功能时会发现,同样的代码却运行不了,为什么呢,为什么在程序里调用时却是正常的,在网上搜索,OK,看来这年头有问题就应该找google或baidu,原来ACCESS里的“查询”不支持像这样的模糊查询 like '%柳永法%',他里面相当于%的是通配符:*,所以要改为
Select * from table where txtTitle like '*脚本之家*'
在SQL Server的查询分析器里还是支持正常的SQL语句的写法的,不知这ACCESS为哈这样尼。
还有我经常用ACCESS的“查询”功能直接在数据库里操作为什么用了那么长时间也没发现这个问题?是因为发现问题时用程序又可以就没管他了,还是根本就没发现过?我想我是发现过,可能项目太就紧,所以没有去研究他吧。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值