首页 > 解决方案 > org.postgresql.util.PSQLException: 错误: 运算符不存在: date = bytea on date null in native query JPA

问题描述

我想对 Postgresql 进行本机查询,但是我无法使其与日期一起使用。我可以接收日期为空,或日期为日期,所以我喜欢在这两种情况下工作:

" case when coalesce (?3, null) = ?3 then true " +
" else p.start_date = ?3 end"

如果 ?3 是第三个参数并且可以为 null 并且它的类型为 LocalDate

我尝试了许多变体,但无法使其适用于这两种情况,单独它会起作用:

  1. 如果coalesce (?3, null) = ?3日期参数为空,它将起作用
  2. 如果p.start_date = ?3对于日期参数!= null 它将起作用

数据库中的列是日期

谢谢:)

标签: postgresqllocaldatenativequery

解决方案


这对我有用:

 case when ?3 <> '' then p.start_date = (cast(?3 as date))
      else 1 = 1 end

所以,我正在传递字符串参数并将其转换为日期,因为没有其他方法对我有用


推荐阅读