陷入尝试使此oracle数据库查询正常工作的麻烦。我试图从表中提取前端选择的日期之间的所有记录。
查询:
SELECT *
FROM (
SELECT *
FROM COMPRATER_REQUESTS
WHERE VendorName = ?
AND EFFECTIVEDATE >= TO_DATE(?, 'yyyy/mm/dd')
AND EFFECTIVEDATE <= TO_DATE(?, 'yyyy/mm/dd')
)
WHERE ROWNUM <= 100
传递给占位符的参数为:
参数:[沃尔玛,2018年6月19日星期二00:00:00 EDT,2018年10月23日星期二00:00:00 EDT]
我一直回想的错误是:
错误消息:查询HVQ DB时发生异常。
异常堆栈跟踪:java.sql.SQLException:无效的列类型Query
答案 0 :(得分:0)
您输入的日期字符串与您在TO_DATE中指定的格式不匹配。
参数:
Walmart,
Tue Jun 19 00:00:00 EDT 2018,
Tue Oct 23 00:00:00 EDT 2018
根据您的查询:
AND EFFECTIVEDATE >= TO_DATE(?, 'yyyy/mm/dd')
AND TO_DATE(?, 'yyyy/mm/dd')
我认为,因为那里有一个时区,所以需要使用to_timestamp_tz函数。
'DY MON DD HH24:MI:SS TZD YYYY'