sql >> Databáze >  >> RDS >> Oracle

Ukládání koncových nul v databázi pomocí JPA a Oracle

Nemůžete to vyřešit a já bych navrhl, že to není problém. Přesně tak Oracle ukládá NUMBER hodnoty:s nejmenší potřebnou přesností. Pokud jste zadali cenu jako 4.00 bude uložen jako 4 .

Všimněte si, že Java nebude při zobrazení hodnoty výchozí na dvě desetinná místa. Musíte zadat počet desetinných míst.

A pokud je to možné, použil bych BigDecimal místo float za cenu. float typ není přesný. Alternativou je použití jednoho z celočíselných typů (int nebo long ) a sami spravujte desetinná místa.

Chcete-li naformátovat cenu pro zobrazení v kódu Java, použijte String.format("%.2f", price) .

Chcete-li naformátovat cenu v dotazu Oracle, použijte TO_CHAR :

SELECT TO_CHAR(price, '999999990.00'), etc.

Vyberte počet zástupných symbolů, který je pro vás nejlepší, a mějte na paměti, že Oracle vloží na začátek výsledku mezeru navíc. Má obsahovat znaménko mínus, pokud je číslo záporné, ale pro nulu/kladné číslo je to mezera. Chcete-li se zbavit prostoru, použijte FM modifikátor v TO_CHAR :

SELECT TO_CHAR(price, 'FM999999990.00'), etc.



  1. Agregace dat mongodb vs mysql

  2. Vrácení hodnot z mapovaných metod MyBatis <insert>

  3. Mysql podobné textové vyhledávání

  4. Problémy s nahráváním více obrázků