【发布时间】:2018-08-23 20:13:56
【问题描述】:
试图让这个 oracle db 查询正常工作时遇到了困难。我正在尝试从表中提取在前端选择的日期之间的所有记录。
查询:
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
传递给占位符的参数是:
参数:[Walmart, Tue Jun 19 00:00:00 EDT 2018, Tue Oct 23 00:00:00 EDT 2018]
我不断返回的错误是:
错误消息:查询 HVQ DB 时发生异常。
异常堆栈跟踪:java.sql.SQLException: Invalid column type Query
【问题讨论】:
-
您能否提供一些表格中的示例数据?
-
日期参数是什么类型?字符串还是日期时间?如果是日期,那么为什么要调用 to_Date,如果是字符串,那么为什么使用错误的格式?
-
在内部查询中,在最后的 WHERE 子句中有
AND TO_DATE(...)。在关键字AND之后,您必须有一个逻辑条件,而不是计算为日期的表达式。你在那里试图做什么?也许有EFFECTIVEDATE <=...?也许您在最初有BETWEEN ... AND ...条件后编辑了查询? -
抱歉,第二个 to_date 应该在