为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Spring Data JPA 和 postgresql 将字符串转换为

使用 Spring Data JPA 和 postgresql 将字符串转换为

白猪掌柜的 2022-04-28 16:14:50
我想从 Postgresql 获取所选日期之前的所有记录。日期是字符串。在我看来,最简单的方法是使用 to_timestamp 将字符串转换为时间戳。select * from workers where update_date < to_timestamp('2018-08-11', 'YYYY-MM-DD')::timestamp without time zone;我在我的存储库中创建了如下方法,但它不起作用。@Query("select w from Worker w where w.update_date < to_timestamp(:date, 'YYYY-MM-DD')::timestamp without time zone") List<Worker> findBeforeDate(@Param("date") String date);它抛出org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌::靠近第 1 行,第 104 列 [select w from com.oksa.workreport.doma.Worker w where w.update_date < to_timestamp(:date, 'YYYY-MM-DD')::timestamp without time zone]谁能帮助我如何做到这一点?
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您必须在查询中转义冒号。试试下面:

@Query(value = "select w from Worker w where w.update_date < to_timestamp(:date, 'YYYY-MM-DD')\\:\\:timestamp without time zone", nativeQuery=true) 
List<Worker> findBeforeDate(@Param("date") String date);


查看完整回答
反对 回复 2022-04-28
  • 1 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信