oracle Spring Data JPA本地查询中的INTERVAL表达式

ou6hu8tu  于 2022-11-03  发布在  Oracle
关注(0)|答案(1)|浏览(141)

我有Spring JPA。
我在sql oracle中有一个类似***的查询***:

SELECT * FROM MY_TABLE WHERE  SYSDATE > MY_DATE + INTERVAL '10' DAY;

我有一个CrudRepository,我在其中以原生模式使用上面的查询,***如下所示:

@Query(nativeQuery = true, 
            value = "SELECT * FROM MY_TABLE WHERE  SYSDATE > MY_DATE + INTERVAL :myValue DAY")
public List<Object[]> myMethod(@Param("myValue") String myValue );

我得到ORA-00933:
将myValue作为整数在引号之间传递,我会得到ORA-01867
将myValue作为不带引号的整数传递,得到ORA-00933
怎么做呢?

mrphzbgm

mrphzbgm1#

看问题的评论,对于spring/jpa/postgresql有一个类似的问题/答案,对我来说解决方案是:

@Query(nativeQuery = true, 
            value = "SELECT * FROM MY_TABLE WHERE  SYSDATE > MY_DATE + :myValue * (INTERVAL 1 DAY"))
public List<Object[]> myMethod(@Param("myValue") int myValue );

相关问题