在Java中,我定义了一个名为year的字符串:
String year="year(now())-1"现在我希望在下面使用where like子句替换这个字符串的值:
ResultSet rs = stmt.executeQuery("select abc from table where year like '"+year+"' " )但是使用上面的语句我得不到任何结果。有谁能告诉我哪里出错了吗?
发布于 2012-03-26 15:08:08
降至负1年
DATE_SUB(NOW(),INTERVAL 1 YEAR)所以你可以使用
String year="DATE_SUB(NOW(),INTERVAL 1 YEAR)"最终结果:
ResultSet rs = stmt.executeQuery("select abc from table where year = "+year+"");发布于 2012-03-26 15:01:15
您是否尝试过使用比较运算符=而不是like?另外,您是否检查了与数据相关的输入参数?记录查询并查看实际生成的内容。
发布于 2012-03-26 15:04:57
尝试在where中将%与like一起使用:
stmt.executeQuery("select abc from table where year like '%"+year+"%' " )
https://stackoverflow.com/questions/9867874
复制相似问题