感谢您花时间阅读。
我正在尝试通过以下代码行使用与 Snowflake 的 JDBC 连接来执行查询:
namedParamJdbcTemplate.execute(sqlQuery, paramKeyValueMap, (PreparedStatementCallback) ps -> ps.executeUpdate());
以下是传递给执行方法的变量:
query = 'SELECT TYPE_ID, DESCRIPTION FROM LATEST.ACCOUNT_TYPE
WHERE DESCRIPTION IN (''AWARD'',''CONSUMER_DDA'')
AND SYS_SRC_OP_TIMESTAMP > :SYS_SRC_OP_TIMESTAMP'
paramKeyValueMap = ('SYS_SRC_OP_TIMESTAMP' --> 'CURRENT_DATE-365')
不幸的是,这会引发 SQL 错误:
Timestamp 'CURRENT_DATE-365' is not recognized; nested exception is net.snowflake.client.jdbc.SnowflakeSQLException: Timestamp 'CURRENT_DATE-365' is not recognized
如您所见,错误是传递给查询的参数之一 <CURRENT_DATE-365> 在运行时执行期间被引号包围。
我尝试手动执行不带引号的查询,它似乎工作正常。
如果您知道不带引号传递参数的方法,请告诉我。
尊敬的,标记