postgresql - 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
我尝试了许多变体,但无法使其适用于这两种情况,单独它会起作用:
- 如果
coalesce (?3, null) = ?3
日期参数为空,它将起作用 - 如果
p.start_date = ?3
对于日期参数!= null 它将起作用
数据库中的列是日期
谢谢:)
解决方案
这对我有用:
case when ?3 <> '' then p.start_date = (cast(?3 as date))
else 1 = 1 end
所以,我正在传递字符串参数并将其转换为日期,因为没有其他方法对我有用
推荐阅读
- java - 我与 JPanel、getWidth 和 getHeight 斗争
- javascript - multer:保留原始图像文件名
- android - 如何在 Android 上使用 ROOM 和 Retrofit?
- ios - 在 Combine 中,我如何按顺序运行一系列期货?
- python - 为什么python试图打开文件
在名字里? - ios - 在用户点击通知后,实际上在 userNotificationCenter 中获取推送 PAYLOAD?
- spring-kafka - Spring Kafka:JsonDeserializer 没有获取 TRUSTED_PACKAGE 配置
- bash - 几秒钟后在while循环内停止“dd”
- bash - 在 docker 中更新环境变量
- c++ - 析构函数和向量