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?'