日期:2014-05-16  浏览次数:20609 次

Java、Mysql使用Like
在Mysql的数据库编辑器中写代码如下:
select * from powerbar where knowledgecode like '101%')


上面的语句显示是对的

select * from powerbar where knowledgecode like '101''%'


也是对的,已经试验过了

但是在java代码中编写的语句如下:

select * from powerbar where knowledgecode like '?%'

select * from powerbar where knowledgecode like ?%

select * from powerbar where knowledgecode like ?'%'


以上三种前面两种全是错误的,最后一种查不出什么东西。
不知道是上面原因,我猜是%被当成一般的字符串了,不知道是否正确。
更改如下:

select * from powerbar where knowledgecode like concat('101','%')


用了mysql的字符串连接函数concat就可以了。
1 楼 void_coocoo 2010-02-04  
一般用的时候是

sql = " ... like ? ";
ps.setString(1,aaaa + "%");