org.postgresql.util.PSQLException:错误:运算符不存在:date =本机查询JPA中日期为bytea的日期为null

问题描述

我想对Postgresql进行本机查询,但是我无法使其与日期一起使用。我可以将date接收为null,也可以将date接收为date,因此在两种情况下我都希望工作:

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

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

我尝试了多种变体,但无法使其同时适用于两种情况,

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

数据库中的列是日期 谢谢:)

解决方法

这对我有用:

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

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