【问题标题】:How to compare if BigDecimal value is inside a range in a query?如何比较 BigDecimal 值是否在查询范围内?
【发布时间】:2020-07-27 17:30:06
【问题描述】:

假设我必须检查一个值是否在一个范围内,并且这个值在 Java 中是 BigDecimal。数据库中的值是数字(带两位小数)。想法在上面……但我不知道正确的方法,更糟糕的是,我无权单独测试查询。我正在使用 jpa 扩展存储库,所以在这种情况下我可能需要编写自己的查询。

@Query("SELECT c "
        + " FROM Taxes c "
        + " WHERE c.minOrderValue <= 'Mvalue' AND c.maxOrderValue >= 'Mvalue' "
)
Optional<TaxesRR> getTaxes(@Param("Mvalue") BigDecimal Mvalue);

【问题讨论】:

  • 至少将'Mvalue' 替换为:Mvalue。不确定 BigDecimal 是否需要任何特殊处理。

标签: sql spring-data-jpa bigdecimal


【解决方案1】:

这就是它对我的工作方式。任何其他解决方案仍然值得赞赏。

@Query("SELECT c "
        + " FROM ConjuntoTaxasRetencaoRapida c "
        + " WHERE c.valorMinimoPorteFaturamento <= ?1 "
        + " AND c.valorMaximoPorteFaturamento > ?2")
Optional<ConjuntoTaxasRetencaoRapida> obterTaxasRR(BigDecimal valorProjetadoMes, BigDecimal valorProjetadoMesConsolidado);

【讨论】:

    猜你喜欢
    • 2015-11-27
    • 1970-01-01
    • 2012-04-19
    • 2020-04-18
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多