如何比较BigDecimal值是否在查询范围内?

时间:2020-04-14 20:48:55

标签: sql spring-data-jpa bigdecimal

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

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

1 个答案:

答案 0 :(得分:0)

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

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