繁体   English   中英

Spring 数据 JPA- 如果在条件之间具有 null 值,则忽略参数

[英]Spring Data JPA- ignore parameter if it has a null value in between condition

我正在尝试编写以下查询

@Query(value = " " + "SELECT new om.gov.moh.ereferral.model.dto.ClinicalReferralStatisticsDto("
            + "SUM(CASE WHEN B.id = 1 THEN 1 END) AS OPD," + "SUM(CASE WHEN  B.id = 2 THEN 1 END)     AS IPD,"
            + "SUM(CASE WHEN B.id = 3 THEN 1 END)     AS DC," + "SUM(CASE WHEN B.id = 4 THEN 1 END )    AS PROC,"
            + " SUM(CASE WHEN B.id = 5 THEN 1 END)     AS SURGERY , SUM (CASE WHEN B.id IN (1,2,3,4,5)THEN 1 END)     AS Total)"
            + "FROM RefTbAppTransaction A, RefVwVisitType B "
            + "WHERE A.reqVisitType.id = B.id AND A.toEstCode = :toEstCode "
            + "AND A.referralDate BETWEEN TRUNC(:fromDate) AND TRUNC(:toDate) " 
            + "and (COALESCE(:fromEstCode, null) is null or A.fromEstCode in :fromEstCode)"
            )

现在它工作正常,但我想如果fromDate是 null 将所有数据带到toDate并且如果toDate是 null 将所有数据从fromDate中的选定日期带到当前日期,如果两者都是 Z37A6259CC0C1DAFAE299A786

你可以试试下一个模式

where (:fromDate is null or A.referralDate >= :fromDate)
and (:toDate is null or A.referralDate <= :toDate)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM