我有这个查询,但我不知道它有什么问题。
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>