Oracle
 sql >> база данни >  >> RDS >> Oracle

Съхраняване на крайни нули в база данни с JPA и Oracle

Не можете да го разрешите и бих предложил, че това не е проблем. Точно така Oracle съхранява NUMBER стойности:с най-малко необходима точност. Ако сте въвели цената като 4.00 ще се съхранява като 4 .

Обърнете внимание, че Java няма да използва по подразбиране два десетични знака, когато показва стойността. Трябва да посочите броя на десетичните знаци.

И, ако е възможно, бих използвал BigDecimal вместо float за цената. float типът не е точен. Алтернатива е да използвате един от типовете цели числа (int или long ) и сами управлявайте десетичните знаци.

За да форматирате цената за показване във вашия Java код, използвайте String.format("%.2f", price) .

За да форматирате цената в заявка на Oracle, използвайте TO_CHAR :

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

Изберете броя на контейнерите, който е най-подходящ за вас, и имайте предвид, че Oracle ще постави допълнителен интервал в началото на резултата. Предназначено е да съдържа знак минус, ако числото е отрицателно, но за нула/положително е интервал. За да се отървете от празното място, използвайте FM модификатор в TO_CHAR :

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задействания за превенция

  2. Известие за промяна на базата данни на Oracle

  3. Можем ли да актуализираме стойностите на първичния ключ на таблица?

  4. невалиден път, докато се опитвате да запишете файла в pl sql

  5. Проверете формата на ДАТА в Oracle