oracle.jdbc.OracleDatabaseException: ORA-00905: 缺少关键字

时间:2021-07-09 14:08:40

标签: java sql oracle

我有这个查询,但我不知道它有什么问题。

SELECT 
  COUNT(*) as count 
FROM 
  my_table 
WHERE 
  product_id =  ?  
  AND status = ? 
  AND created_at 
    BETWEEN timestamp  ?  
    AND timestamp ? ;

如果我将此查询用作准备好的语句,则会导致 exception oracle.jdbc.OracleDatabaseException: ORA-00905: missing keyword.

如果我这样执行:

SELECT 
  COUNT(*) as count 
FROM 
  my_table 
WHERE 
  product_id = 'TEST' 
  AND status = 'SUCCESS' 
  AND created_at 
    BETWEEN timestamp  '2021-07-07 00:00:00' 
    AND timestamp '2021-07-07 23:59:59';

效果很好。

我使用的是 Oracle 11g 和 jdbc 驱动程序:

    <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc11-production</artifactId>
            <version>21.1.0.0</version>

0 个答案:

没有答案