我正在尝试使用Spring JDBCTemplate(org.springframework.jdbc.core.JdbcTemplate)在Sybase数据库上运行查询
以下是我的代码:
String query = "SELECT * FROM Table_A a WHERE a.col1 LIKE ? AND a.col2 LIKE ?";
getJdbcTemplate().query(query , new String[] { stringParam1, stringParam2}, new MyMapper());
以上代码会抛出此错误:
Exception occurred org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback;
bad SQL grammar [SELECT * FROM Table_A a WHERE a.col1 LIKE ? AND a.col2 LIKE ?]; nested exception is java.sql.SQLException:
Function LIKE invoked with wrong number or type of argument(s).
相同的查询在sql server上运行正常。知道Sybase应该做些什么?
答案 0 :(得分:0)
您需要将问号封装在Sybase的引号中,以将其视为char
值,这是查询中预期的参数类型。