java 中的模糊查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 04:08:44
我想做一个模糊查询
用的是 prepareStatement
代码如下:
String sql = "select * from table where Name like ?";
prepareStatement ps = con.prepareStatement(sql);
ps.setString(1, "%"+keyWord+"%");
rs = ps.executeQuery();
在mysql下是可以的
但是在sqlserver2000下就不行
只有这样才行
String sql = "select * from table where Name like '%"+keyword+"%'";
这是为什么?
select * from table where Name like '?'
这样写也不行

在SQL SERVER中LIKE后面应该加上单引号.
例如:select * from table where Name like '?'

虽然他们用的是统一的标准SQL语句,但是在个别之处还是有区别的