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

Доклад на Jasper:не може да получи стойност за поле „x“ от клас „org.postgresql.util.PGmoney“

Това е една от няколкото причини парите на PostgreSQL тип беше отхвърлен и трябва да се избягва . Странно по-новите версии на същата документация не показват предупреждението за оттегляне но аз и други не съм съгласен с това и смятам, че използването му трябва да се обезкуражава.

Ако изобщо е възможно, променете схемата си, за да използвате numeric вместо това, като numeric(17,2) ако искате да съхранявате само цели числа центове или нещо по-точно за междинни стойности. Ще преживеете кошмарно време, работейки с пари в HQL, до точката, в която дори BigDecimal на Java клас (обикновено се използва за картографиране на numeric полета) е по-добър въпреки ужасно тромавия синтаксис на неговата w аритметика.

Бих направил ALTER TABLE blah ALTER COLUMN blahcol TYPE numeric(17,2) USING ( regexp_replace(blahcol::text, '[$,]', '', 'g')::numeric ); и забравете парите тип съществуваше на твое място.




  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. Zip файл в байтове Python 3

  3. sails.js Blueprint заявка по отношения

  4. Как да използвам същия списък два пъти в клаузата WHERE?

  5. Postregsql Разлика в датата на база секунди