我有一个conclusionDao.java类来运行sql查询。
它有
private String getCriteria(GsSrvyRepConclusion Conclusion, boolean isUpdateStatement) {
String criteriaStatement = "";
if(Conclusion.getRecommendation() != null){
statement += getConnectorStatement(criteriaStatement, isUpdateStatement) " CONCLUSION.recommendation =:recommendation";
}recomandation定义为数据库中的CLOB数据类型。我只知道CLOB数据类型不能与查询上的"=“符号一起使用。
但是,当我把等号替换为"like“时,ORA-00932错误会转到ORA-00927,这是缺少等号错误。
你能给我一个关于这个问题的想法吗?这个问题可以用三元算子来解决,但我无法解决。
语句已经定义好了。我只需要改变;
CONCLUSION.recommendation =:recommendation发布于 2017-12-12 11:07:07
if(Conclusion.getRecommendation() != null){
statement += getConnectorStatement(criteriaStatement, isUpdateStatement) " CONCLUSION.recommendation =:recommendation";
}应该写成
if(Conclusion.getRecommendation() != null){
statement += getConnectorStatement(criteriaStatement, isUpdateStatement) + ((isUpdateStatement) ? " CONCLUSION.recommendation =:recommendation " : " CONCLUSION.recommendation like :recommendation ");
}https://stackoverflow.com/questions/47672407
复制相似问题