首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jsp替换结果集语句中存储在字符串中的mysql函数的值

使用jsp替换结果集语句中存储在字符串中的mysql函数的值
EN

Stack Overflow用户
提问于 2012-03-26 14:58:20
回答 4查看 117关注 0票数 0

在Java中,我定义了一个名为year的字符串:

代码语言:javascript
复制
  String year="year(now())-1"

现在我希望在下面使用where like子句替换这个字符串的值:

代码语言:javascript
复制
 ResultSet rs = stmt.executeQuery("select abc from table where year like '"+year+"' " )

但是使用上面的语句我得不到任何结果。有谁能告诉我哪里出错了吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-26 15:08:08

降至负1年

代码语言:javascript
复制
DATE_SUB(NOW(),INTERVAL 1 YEAR)

所以你可以使用

代码语言:javascript
复制
String year="DATE_SUB(NOW(),INTERVAL 1 YEAR)"

最终结果:

代码语言:javascript
复制
ResultSet rs = stmt.executeQuery("select abc from table where year = "+year+"");
票数 2
EN

Stack Overflow用户

发布于 2012-03-26 15:01:15

您是否尝试过使用比较运算符=而不是like?另外,您是否检查了与数据相关的输入参数?记录查询并查看实际生成的内容。

票数 0
EN

Stack Overflow用户

发布于 2012-03-26 15:04:57

尝试在where中将%与like一起使用:

stmt.executeQuery("select abc from table where year like '%"+year+"%' " )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9867874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档